✨JSY
Published 2023. 9. 15. 15:29
[백준] [JS] 5622_다이얼 PS/백준
문제

문제 출처 - https://www.acmicpc.net/problem/5622

 

5622번: 다이얼

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.

www.acmicpc.net

 

풀이

다이얼 정보를 담은 객체를 하나 만들어두는 것이 좋을 것 같다.

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
profile

✨JSY

@JUNSANG YOO

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!