ダイヤル-javascript


質問(ソース)


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

私の接近


  • 数字とダイヤルをどう結びつけるかを考え,Object構造でハードコーディングできると考えた.

  • 指定した文字がダイヤルキーに含まれている場合は、その文字を入力するのに要する時間を加算して最小時間値を求めます.
  • に答える

    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"