백준 1157 풀이 node
2022. 2. 11. 14:15ㆍ에러&&공부노트
글쓴 개요 : 백준 1157번 문제를 푸는 과정 중에 알게된 내용을 소개하고자 작성했습니다.
해당 문제는 아스키코드를 참고할 필요가 있었습니다.
ASCII (American standard code for information interchange code)
미국 표준 정보교환 코드로 컴퓨터 내부에서 문자를 표현하는데 사용됩니다.
번호 | 코드 | 번호 | 코드 | 번호 | 코드 |
33 | ! | 64 | @ | 95 | _ |
34 | " | 65 | A | 96 | ` |
35 | # | 66 | B | 97 | a |
36 | $ | 67 | C | 98 | b |
37 | % | 68 | D | 99 | c |
38 | & | 69 | E | 100 | d |
39 | ' | 70 | F | 101 | e |
40 | ( | 71 | G | 102 | f |
41 | ) | 72 | H | 103 | g |
42 | * | 73 | I | 104 | h |
43 | + | 74 | J | 105 | i |
44 | , | 75 | K | 106 | j |
45 | - | 76 | L | 107 | k |
46 | . | 77 | M | 108 | l |
47 | / | 78 | N | 109 | m |
48 | 0 | 79 | O | 110 | n |
49 | 1 | 80 | P | 111 | o |
50 | 2 | 81 | Q | 112 | p |
51 | 3 | 82 | R | 113 | q |
52 | 4 | 83 | S | 114 | r |
53 | 5 | 84 | T | 115 | s |
54 | 6 | 85 | U | 116 | t |
55 | 7 | 86 | V | 117 | u |
56 | 8 | 87 | W | 118 | v |
57 | 9 | 88 | X | 119 | w |
58 | : | 89 | Y | 120 | x |
59 | ; | 90 | Z | 121 | y |
60 | < | 91 | [ | 122 | z |
61 | = | 92 | \ | 123 | { |
62 | > | 93 | ] | 124 | | |
63 | ? | 94 | ^ | 125 | } |
문제 :
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.
//예제 입력 1
Mississipi
//예제 출력 1
?
//예제 입력 2
zZa
//예제 출력 2
Z
풀이 :
const fs = require('fs');
const input = fs.readFileSync(0).toString().trim();
const fn_result = (input) => {
//알파벳 26개의 기준 배열을 생성
const _array = new Array(26).fill(0);
//모든 문자 대문자로 변경
const _string = input.toUpperCase();
//해당 문자의 갯수를 아스키코드로 계산해 _array배열에 재할당
for (let i = 0; i < _string.length; i++) {
_array[_string[i].charCodeAt() - 65] += 1;
}
//최대 사용된 알파벳 개수 구하기
const max_num = Math.max(..._array);
//최대 개수 알파벳의 인덱스를 구한 뒤 아스키코드 문자로 변환
_array.filter((e) => e === max_num).length > 1 ? console.log("?") : console.log(String.fromCharCode(_array.findIndex((e) => e === max_num) + 65));
};
fn_result(input);
'에러&&공부노트' 카테고리의 다른 글
백준 2908번 풀이 node (0) | 2022.02.11 |
---|---|
백준 1152번 풀이 node (0) | 2022.02.11 |
백준 10809번 문제풀이(node) (0) | 2022.02.11 |
한수 개수 구하기 (0) | 2022.02.10 |
셀프 넘버 구하기 (0) | 2022.02.10 |