Lined Notebook

[Bronze 2] [Java] 다이얼 (5622번)

by HeshAlgo

<다이얼>

문제 설명

상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다.

전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다.

숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다.

상근이의 할머니는 전화 번호를 각 숫자에 해당하는 문자로 외운다. 즉, 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 걸면 된다. 예를 들어, UNUCIC는 868242와 같다.

할머니가 외운 단어가 주어졌을 때, 이 전화를 걸기 위해서 필요한 시간을 구하는 프로그램을 작성하시오.

 

제한 사항

입력

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어는 2글자~15글자로 이루어져 있다.

 

출력

첫째 줄에 다이얼을 걸기 위해서 필요한 시간을 출력한다.

 

내 생각

다이얼에 적혀있는 문자의 범위 만큼 초를 증가시켜서 구현시켰습니다. 다이얼 별로 3자리의 문자가 있는 줄 알았는데 중간에 4개인 다이얼이 있었습니다.(7과 9) 이것 때문에 계속 틀렸습니다를 받았습니다ㅠㅠ

항상 문제를 꼼꼼히 봐야겠습니다. 

 

걸린 시간

20분 24초

 

작성 코드

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
41
42
43
import java.util.*;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        
        String dial = scan.next();
        int sec = 0;
        for (int i = 0; i < dial.length(); i++) {
            char word = dial.charAt(i);
            
            int number = word - 65;
 
            if (0 <= number && number < 3) {
                sec += 3;
            } else if (3 <= number && number < 6) {
                sec += 4;
            } else if (6 <= number && number < 9) {
                sec += 5;
            } else if (9 <= number && number < 12) {
                sec += 6;
            } else if (12 <= number && number < 15) {
                sec += 7;
            } else if (15 <= number && number < 19) {
                sec += 8;
            } else if (19 <= number && number < 22) {
                sec += 9;
            } else if (22 <= number && number < 26) {
                sec += 10;
            } else if (number == 26){
                sec += 11;
            } else {
                sec += 2;
            }
        }
        System.out.println(sec);
        
        
    }
 
}
 
 
 

 

실행 결과

블로그의 정보

꾸준히 공부하는 개발 노트

HeshAlgo

활동하기