문제
문제 출처 - https://www.acmicpc.net/problem/5622
풀이
다이얼 정보를 담은 객체를 하나 만들어두는 것이 좋을 것 같다.
const dialInfo = {
// 다이얼넘버 + 시간(1초) 이 value가 됨.
'ABC' : 3,
'DEF' : 4,
'GHI' : 5,
'JKL' : 6,
'MNO' : 7,
'PQRS' : 8,
'TUV' : 9,
'WXYZ' : 10
};
다이얼 숫자의 +1만큼이 걸리는 시간이므로, 객체를 생성하여
key값을 다이얼의 문자, value값을 걸리는 시간(다이얼의 수 + 1) 으로 한다.
for (let key in keys) {
if (key.includes(탐색할 문자) {
// 탐색할 문자가 key에 포함된 문자라면, 결과값에 value 값을 더해준다
}
}
입력받은 문자열의 탐색할 문자 하나가 key에 포함된 문자라면, result에 추가하고 break 한 후 다음 문자를 탐색하게 한다.
코드
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().split('\n');
const str = input[0].split('');
const dialInfo = {
'ABC' : 3,
'DEF' : 4,
'GHI' : 5,
'JKL' : 6,
'MNO' : 7,
'PQRS' : 8,
'TUV' : 9,
'WXYZ' : 10
};
let result = 0;
for (let i = 0; i < str.length; i++) {
for (let key in dialInfo) {
if (key.includes(str[i])) {
result += dialInfo[key];
break;
}
}
}
console.log(result);
'PS > 백준' 카테고리의 다른 글
[백준] [JS] 1152_단어의 개수 (0) | 2023.09.15 |
---|---|
[백준] [JS] 10809_알파벳 찾기 (0) | 2023.09.15 |
[백준] [JS] 11654_아스키 코드 (0) | 2023.09.15 |
백준 10811 javascript | node.js (0) | 2023.09.12 |
백준 3052 javascript | node.js (0) | 2023.09.12 |