알고리즘 풀이

[JAVASCRIPT] 백준 4358번 문제 풀이

Lv1_junior_dev 2023. 5. 31. 20:05

❗ 풀이

const input = require('fs').readFileSync('4358.txt').toString().trim().split(/\r?\n/);

let countObject = {};

input.forEach(element => { 
    countObject[element] == null ? countObject[element] = 1 : countObject[element] += 1 
});

console.log(Object.keys(countObject).sort().map(key => `${key} ${(countObject[key] / input.length * 100).toFixed(4)}`).join('\n'));

1. 각 입력값을 받아올 객체 정의

2. 입력값을 반복하며 객체에 입력값이 존재한다면 카운팅하고 없다면 생성 후 초기값을 1로 지정

3. 키 값을 사전순으로 정렬 후 반복문을 통해 입력값의 길이에서 카운팅된 값을 나누고 100을 곱한 뒤 소수점 5자리에서 반올림