상세 컨텐츠

본문 제목

JAVA. 백준 알고리즘 단계별 문제 7단계(문제 번호 5622)

공-부/백준 알고리즘

by 사랑짱 2021. 6. 5. 13:58

본문

(문제번호 5622)

전화를 걸기 위해 필요한 최소시간을 구하는 프로그램을 작성하시오.

 

문제 해결 포인트

그림 속 다이얼에 비어있는 두 칸이 있으므로 숫자 N번을 누르는 시간 = N+1 초이다.

이 원리를 기반으로 알파벳이 포함되어있는 숫자를 찾아 시간을 더하여 총 소요시간(초)를 구한다.

 


문제 해결 과정

1. BufferedReader을 이용하여 문자열를 입력받는다.

2. charAt( )함수로 입력받은 문자열의 알파벳을 추출한다.

3. 추출된 알파벳에 해당하는 숫자를 찾아 소요시간을 누적하여 더한다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
 
public class No08 {
 
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        
        int time = 0;
        for(int i = 0; i < str.length(); i++) {
            char ch = (char)str.charAt(i);
 
            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
            }
        }        
        
        System.out.println(time);    
        
    }    //main
    
}    //class
cs

 

 

관련글 더보기