Programming/Algorithm

[백준]1157번 단어 공부 with Node.js

kort 2022. 6. 25. 14:16

const input = require('fs').readFileSync('testInput.txt').toString().trim().toLowerCase().split('');

//입력 필드 중 중복 제거된 새 배열을 생성.
const arr = input.filter((v,i) =>  input.indexOf(v) === i);

//0으로 채운 카운팅용 배열 생성.
let counting = new Array(arr.length).fill(0);

//중복 제거된 배열과 입력 필드 간 중복 값 카운팅 배열에 저장
for(let i in input){
    counting[arr.indexOf(input[i])]++;
};

let max = counting[0];

//현재 값보다 이후 값이 높다면 갱신
for(let i in counting){
    if(max < counting[i]) max = counting[i];
};

//맥스 값보다 큰 값이 카운팅 배열에 1 이상 있다면 물음표, 아니라면 대문자로 출력
if(counting.filter((v,i) => v === max).length > 1) console.log("?");
else console.log(arr[counting.indexOf(max)].toUpperCase());