현재

[Java][BaekJoon][5622]다이얼 본문

알고리즘/백준

[Java][BaekJoon][5622]다이얼

AAAge 2023. 9. 25. 21:11

<문제의도>

경우의수를 나눠서 적절한 API를 사용할 수 있는지 묻는 문제이다

 

<풀이 코드>

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner scn = new Scanner(System.in);

        String input = scn.nextLine();

        int array [] = new int[input.length()];

        for ( int x = 0 ; x <input.length(); x++){
            if( input.charAt(x) == 'A' ||
                input.charAt(x) == 'B' ||
                input.charAt(x) == 'C')
            array[x] = 3;
            else if (   input.charAt(x) == 'D' ||
                        input.charAt(x) == 'E' ||
                        input.charAt(x) == 'F')
            array[x] = 4;
            else if (   input.charAt(x) == 'G' ||
                        input.charAt(x) == 'H' ||
                        input.charAt(x) == 'I')
            array[x] = 5;
            else if (   input.charAt(x) == 'J' ||
                        input.charAt(x) == 'K' ||
                        input.charAt(x) == 'L')
            array[x] = 6;
            else if (   input.charAt(x) == 'M' ||
                        input.charAt(x) == 'N' ||
                        input.charAt(x) == 'O')
            array[x] = 7;
            else if (   input.charAt(x) == 'P' ||
                        input.charAt(x) == 'Q' ||
                        input.charAt(x) == 'R' ||
                        input.charAt(x) == 'S')
            array[x] = 8;
            else if (   input.charAt(x) == 'T' ||
                        input.charAt(x) == 'U' ||
                        input.charAt(x) == 'V')
            array[x] = 9;
            else if (   input.charAt(x) == 'W' ||
                        input.charAt(x) == 'X' ||
                        input.charAt(x) == 'Y' ||
                        input.charAt(x) == 'Z')
            array[x] = 10;
        }
            // ABC는 3초가 걸림
        int sum = 0;
        for ( int x = 0 ; x < input.length(); x++){
            sum += array[x];
        }
        System.out.println(sum);

    }
}

<풀이 과정>

문제를 풀고나서 다른 사람의 풀이를 봤는데 

다들 switch case를 사용해서 해결하였다.

swtich case를 이용해서 푸는것이 더 가독성이 좋고 코드의 양이 적다고 느꼈다. 다음 부터는 Switch Case 문을 통해 해결해 봐야겠다.

 

<문제출처>

https://www.acmicpc.net/step/7

 

문자열 단계

정수를 문자열로 입력받는 문제. Python처럼 정수 크기에 제한이 없다면 상관 없으나, 예제 3은 일반적인 정수 자료형에 담기에 너무 크다는 점에 주목합시다.

www.acmicpc.net