반응형
알파벳 대문자를 입력하고 그에 상응하는 다이얼을 걸 때 걸리는 시간을 출력하는 프로그램이다.
입력으로 알파벳 대문자가 들어오고 알파벳마다 의미하는 숫자가 있다. 예로 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 : 출력.
반응형
'프로그래밍 > 백준 알고리즘 코드' 카테고리의 다른 글
백준 1316번 자바 JAVA 그룹 단어 체커 [문자열] (0) | 2020.10.14 |
---|---|
백준 2941번 자바 java 크로아티아 알파벳 [문자열] (0) | 2020.09.29 |
백준 2908번 java 자바 상수 (문자열) (0) | 2020.09.27 |
백준 1152번 java 자바 단어의 개수 [문자열] (0) | 2020.09.19 |
백준 1157 java 자바 단어 공부 [문자열] (5) | 2020.09.19 |
댓글