for...of : 이터러블에 사용 가능
reduce
Object.values(obj)를 활용하여 문제를 풀어보자.
Object.values(obj)로 이터러블 생성가능
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().trim().split('\n');
input = input[0].toUpperCase();
const arr = [];
for (let i = 0; i < input.length; i++) {
arr[i] = input[i];
}
const obj = arr.reduce((acc, cur) => {
if (!acc[cur]) acc[cur] = 1;
else acc[cur]++;
return acc;
}, {});
let max = 0;
let maxStr = '';
for (let key in obj) {
if (obj[key] > max) {
max = obj[key];
maxStr = key;
}
}
const newArr = [];
for (let value of Object.values(obj)) {
newArr.push(value);
}
newArr.sort((a,b) => a-b);
if (newArr[newArr.length - 1] === newArr[newArr.length - 2]) console.log('?');
else console.log(maxStr);
1157번 제출
for...of - JavaScript | MDN
Max Chars(가장 많이 쓰인 문자 찾기) Node.js(JavaScript) :: 감공사