유물/└ 백준
<백준> 1157번: 단어 공부 (런타임 에러 (SyntaxError))
디벅잉
2022. 1. 22. 21:36
728x90
👾
문제
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
풀이(오답)
import fs from "fs";
const charList = fs.readFileSync("/dev/stdin").toString().trim();
const upperCharList = charList.toUpperCase().split("");
let countList = [];
for (let i = 65; i <= 90; i++) {
const alphabet = String.fromCharCode(i);
let count = 0;
upperCharList.forEach((char) => {
char === alphabet ? (count += 1) : null;
});
countList.push(count);
}
const maxNum = Math.max(...countList);
let duplicated = 0;
countList.forEach((char) => {
char === maxNum ? (duplicated += 1) : null;
});
duplicated === 1 ? console.log(maxNum) : console.log("?");
1. (공통) 런타임 에러 (SyntaxError)가 발생하였으나, 아직 해결하지 못했습니다.
2. (line 7~14) 알파벳이 반복되는 횟수를 배열로 저장하였습니다.
3. (line 16) Math.max 메서드를 활용하여 최대 반복 횟수를 찾았습니다.
4. (line 18~24) 최대 반복 횟수에 중복이 있는지 판단하여, 판단 결과에 따라 다른 값을 출력합니다.
728x90