κ°œμΈκ³΅λΆ€/Algorithm

[λ°±μ€€][Node.js] 1157번 : 단어 곡뢀

πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 6. 6. 23:59

 

 

 

Algorithm

-  단어 곡뢀 -

 


 

문제

μ•ŒνŒŒλ²³ λŒ€μ†Œλ¬Έμžλ‘œ 된 단어가 μ£Όμ–΄μ§€λ©΄, 이 λ‹¨μ–΄μ—μ„œ κ°€μž₯ 많이 μ‚¬μš©λœ μ•ŒνŒŒλ²³μ΄ 무엇인지 μ•Œμ•„λ‚΄λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

단, λŒ€μ†Œλ¬Έμžμ™€ μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•˜μ§€ μ•ŠλŠ”λ‹€.

 

첫째 쀄에 이 λ‹¨μ–΄μ—μ„œ κ°€μž₯ 많이 μ‚¬μš©λœ μ•ŒνŒŒλ²³μ„ λŒ€λ¬Έμžλ‘œ 좜λ ₯ν•œλ‹€.

단, κ°€μž₯ 많이 μ‚¬μš©λœ μ•ŒνŒŒλ²³μ΄ μ—¬λŸ¬ μ‘΄μž¬ν•˜λŠ” κ²½μš°μ—λŠ” ?λ₯Ό 좜λ ₯ν•œλ‹€.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

 

문제 ν’€κΈ°

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().toLowerCase().split("");
let alpha = input.filter((el, idx) => input.indexOf(el) === idx);
let count = new Array(alpha.length).fill(0);

for (let i = 0; i < input.length; i++) {
	count[alpha.indexOf(input[i])]++;
}

let max = count[0];

for (let j = 1; j < count.length; j++) {
	if (max < count[j]) max = count[j];
}

if (count.filter((el) => el === max).length > 1) console.log("?");
else {
	console.log(alpha[count.indexOf(max)].toUpperCase());
}

 

 

 

λ°˜μ‘ν˜•