will come true

[백준] 5622번 - 다이얼 (Java) 본문

Algorithm

[백준] 5622번 - 다이얼 (Java)

haehyun 2022. 2. 7. 16:57

문제

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

 

5622번: 다이얼

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

www.acmicpc.net

 

코드

import java.util.Scanner;

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

        String s = sc.nextLine();
        int time = 0;

        for (char ch : s.toCharArray()) {
            switch (ch) {
                case 'A': case 'B': case 'C':
                    time += 3;
                    break;
                case 'D': case 'E': case 'F':
                    time += 4;
                    break;
                case 'G': case 'H': case 'I':
                    time += 5;
                    break;
                case 'J': case 'K': case 'L':
                    time += 6;
                    break;
                case 'M': case 'N': case 'O':
                    time += 7;
                    break;
                case 'P': case 'Q': case 'R': case 'S':
                    time += 8;
                    break;
                case 'T': case 'U': case 'V':
                    time += 9;
                    break;
                case 'W': case 'X': case 'Y': case 'Z':
                    time += 10;
                    break;
            }
        }
        System.out.println(time);
    }
}

 

  • 문자열을 문자 하나씩 분리하여 switch~case 문으로 각각 다르게 처리하기
  • toCharArray() : String 문자열의 문자를 하나씩 쪼개 char[] 배열로 반환한다.
    • toCharArray() 로 문자열을 char[] 배열로 만들어 향상된 for문을 통해 하나씩 접근하는 방법
    • 0~s.length() 인덱스 값 i를 사용해 for문으로 charAt(i)와 같이 접근하는 방법
Comments