본문 바로가기
프로그래밍/백준 알고리즘 코드

백준 5622번 자바 Java 다이얼 (문자열)

by 졸린이 2020. 9. 29.
반응형

알파벳 대문자를 입력하고 그에 상응하는 다이얼을 걸 때 걸리는 시간을 출력하는 프로그램이다.

입력으로 알파벳 대문자가 들어오고 알파벳마다 의미하는 숫자가 있다. 예로 A, B, C는 2를 의미하는데 2를 걸려면 3초가 소요된다.

한 칸 옆에 수는 1초씩 더 추가된다. 수는 생각하지 않고 알파벳당 걸리는 시간만 생각하면 된다.

간단하게 if else 문으로 A, B, C는 3초 +

D, E, F 는 4초 (다이얼 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
import java.util.Scanner;
 
//baekjoon_5622_다이얼
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String st = sc.next();
        int time=0;
        char tmp;
        
        for(int i=0; i<st.length(); i++) {
            tmp = st.charAt(i);
            if(tmp >= 'A' && tmp <='C')
                time += 3;
            else if(tmp >= 'D' && tmp <='F')
                time += 4;
            else if(tmp >= 'G' && tmp <='I')
                time += 5;
            else if(tmp >= 'J' && tmp <='L')
                time += 6;
            else if(tmp >= 'M' && tmp <='O')
                time += 7;
            else if(tmp >= 'P' && tmp <='S')
                time += 8;
            else if(tmp >= 'T' && tmp <='V')
                time += 9;
            else if(tmp >= 'W' && tmp <='Z')
                time += 10;
        }
        System.out.println(time);
        
    }
}
cs

 

line 7 : 알파벳 대문자 입력.

line 8 : 출력할 시간 변수 선언, 초기화.

line 9 : 입력된 문자열에서 문자하나하나를 추출해 상응하는 시간을 찾기 위해 임시 변수

line 11 : lengt() 함수로 입력된 문자열 크기만큼 반복한다.

line 12 : charAt()함수를 사용해서 문자를 하나 하나 추출해 어떤 알파벳 군에 속하는지 비교하기 위해서 tmp에 넣는다.

이 과정을 생략하고 비교문에 일일이 charAt(i)로 비교해도 무방하다. (근데 지저분해 짐)

line 13~29 : if else문으로 입력된 알파벳에 상응하는 시간을 time에 더해준다.

line 30 : 출력.

 

 

반응형

댓글