문제 : https://www.acmicpc.net/problem/5622
5622번: 다이얼
첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.
www.acmicpc.net
Sol ) : 구현 문제, 요구조건에 맞춰서 출력
- map 자료구조 (객체 등 해쉬 형태를 이용하기만 하면 됨)를 활용하여 각 알파벳과 소요 시간을 저장
- A~O 까지는 문자 세 개씩 묶여있으니 (i=0 ; i <15), PQRS ( i=15 ; i <19 ), TUV ( i = 20 ; i <22 ), WXYZ ( i=22 ; i <26 )으로 나눠서 저장하기
- 입력받은 문자열을 순회하면서 1에서 지정한 키로 넣어서 값을 누적
소스코드 )
let dial = new Map();
for (let i = 0 ; i<15 ; i++){
dial.set(String.fromCharCode("A".charCodeAt(0)+i),parseInt(i/3)+3);
}
for (let i = 15 ; i <19 ; i++){
dial.set(String.fromCharCode("A".charCodeAt(0)+i),8);
}
for (let i = 19 ; i<22 ; i++){
dial.set(String.fromCharCode("A".charCodeAt(0)+i),9);
}
for (let i = 22 ; i<26 ; i++){
dial.set(String.fromCharCode("A".charCodeAt(0)+i),10);
}
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n')[0];
let result = 0;
for (let i = 0 ; i<input.length ; i++){
result += dial.get(input[i]);
}
console.log(result);
'Problem Solving > boj.kr (JS)' 카테고리의 다른 글
[BOJ / 자바스크립트] 1316 : 그룹 단어 체커 (0) | 2022.02.26 |
---|---|
[BOJ / 자바스크립트] 2941 : 크로아티아 알파벳 (0) | 2022.02.26 |
[BOJ / 자바스크립트] 1152 : 단어의 개수 (0) | 2022.02.26 |
[BOJ / 자바스크립트] 2908 : 상수 (0) | 2022.02.26 |
[BOJ / 자바스크립트] 1157 : 단어 공부 (0) | 2022.02.26 |
댓글