[백준/초보자] 2908번 - 다이얼 배열 알고리즘 (java)

팥빵·2025년 5월 21일

Baekjoon

목록 보기
13/49


>>문제 바로가기<<

할머니가 전화를 걸 때 최소 몇 초가 걸릴까를 묻는 문제이다.
입력 받은 값을 다 일일히 if값으로 분해해야 되나? 싶지만
미리 설계한 배열값을 기준으로 자동으로 나뉘게 하면 된다.

또한 출력값이 단순 숫자기 때문에 BufferedWriter를 사용하지 않아도 크게 문제가 없다.

import java.util.*;
import java.io.*;

class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String s = br.readLine();
        int sum = 0;
        
        int[] dial = {
            3, 3, 3, 	   // A, B, C
            4, 4, 4, 	   // D, E, F
            5, 5, 5, 	   // G, H, I
            6, 6, 6, 	   // J, K, L
            7, 7, 7, 	   // M, N, O
            8, 8, 8, 8,    // P, Q, R, S
            9, 9, 9, 	   // T, U, V
            10, 10, 10, 10 // W, X, Y, Z
        };
        
        for(int i=0; i<s.length(); i++){
            sum += dial[s.charAt(i) - 'A'];
        }
        System.out.println(String.valueOf(sum));
        br.close();
    }
}

맞았습니다!!

profile
반갑습니다

0개의 댓글