다이얼 - javascript

DonQ·2022년 4월 19일
0

CodingTest

목록 보기
18/33
post-thumbnail

문제 (출처)

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

나의 접근

  • 숫자와 다이얼을 어떻게 연관 시킬까 고민을 하다 Object 구조로 하드코딩해도 될까 라는 생각을 하였다.

  • 주어진 문자가 dial key에 포함되어 있을 경우 해당 문자를 입력하는데 걸리는 시간을 더하여 최소 시간 값을 구하였다.

풀이

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split('');

const dial = {
    ABC: 3,
    DEF: 4,
    GHI: 5,
    JKL: 6,
    MNO: 7,
    PQRS: 8,
    TUV: 9,
    WXYZ: 10,
}
let result = 0;

for(let i = 0; i < input.length; i++){
    for(let key in dial){
        if(key.includes(input[i])){
            result += dial[key];
            break;
        }
    }
}
console.log(result);

오늘의 배운점 및 교훈

  • 다시 한번 느끼지만... 계속 생각만하고 실제적으로 코드를 작성하지 않으면 문제를 풀수 없다. 직접 내가 코드를 쳐봐야 내 실력이 향상 된다는 것을 잊지말자.

  • 헷갈리는거는 나중에 봐야지 하지말고 지금 정리를 해야겠다. 매번 정리 하다보면 언젠가는 내것이 되겠지...

  • 그리고 전에 풀었던거 주말에는 꼭 복습하는 시간을 가져야겠다... 이거이거 늙어서 그런지 자꾸 전에 풀었던거 복습을 안하니 자꾸 기억이 안나구만 ㅠ

//for in object 할 때 쓴다.
const object = { a: 1, b : 2};
for (let key in object){
	console.log(`${key} : ${object[key]}`)		
}

//expected output:
// "a: 1"
// "b: 2"

//for of 배열 할때 쓴다.
const array1 = ['a', 'b', 'c'];

for (let element of array1) {
  console.log(element);
}

// expected output: "a"
// expected output: "b"
// expected output: "c"
profile
꾸준히 쌓아가는 코딩 Study

0개의 댓글