캐또's coding

5622 - 다이얼 - node.js 본문

기초 공부/백준 문제 풀이

5622 - 다이얼 - node.js

JS_K_coding 2022. 8. 22. 11:39

https://www.acmicpc.net/problem/5622

 

5622번: 다이얼

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

www.acmicpc.net


특정 문자가 입력으로 왔을 때 해당하는 숫자의 시간 값들을 더해줘야 한다. 숫자 1이 2sec이므로 2가 3sec 3이 4sec씩 걸린다. 문자가 abc def와 같이 3~4개씩 묶여 있으므로 이전에 사용했던 아스키코드를 사용하기로 했다. 만약 65~67이라면 1 68~70이라면 2 이런식으로 하게 된다면 코드가 줄 수 있을 것이다.

const input = require("fs").readFileSync("input.text").toString().trim().split("");

let times = 0;
for (i = 0; i < input.length; i++) {
  let ascNum = input[i].charCodeAt();
  if (65 <= ascNum && ascNum <= 67) {
    times += 3;
  } else if (68 <= ascNum && ascNum <= 70) {
    times += 4;
  } else if (71 <= ascNum && ascNum <= 73) {
    times += 5;
  } else if (74 <= ascNum && ascNum <= 76) {
    times += 6;
  } else if (77 <= ascNum && ascNum <= 79) {
    times += 7;
  } else if (80 <= ascNum && ascNum <= 83) {
    times += 8;
  } else if (84 <= ascNum && ascNum <= 86) {
    times += 9;
  } else if (87 <= ascNum && ascNum <= 90) {
    times += 10;
  }
}
console.log(times);

간단히 검색해봤을 때 특별히 다른 방법을 많이 찾아볼 수 없어서 아쉬웠는데, 나중에 응용이 나오면 모를까 이정도로 일단은 문제를 해결할 수 있었다. 

Comments