Skip to content

Commit a725c77

Browse files
committed
[Bronze II] Title: 다이얼, Time: 76 ms, Memory: 11544 KB -BaekjoonHub
1 parent 4d801f8 commit a725c77

File tree

2 files changed

+95
-0
lines changed

2 files changed

+95
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# [Bronze II] 다이얼 - 5622
2+
3+
[문제 링크](https://www.acmicpc.net/problem/5622)
4+
5+
### 성능 요약
6+
7+
메모리: 11544 KB, 시간: 76 ms
8+
9+
### 분류
10+
11+
구현(implementation)
12+
13+
### 문제 설명
14+
15+
<p>상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다.</p>
16+
17+
<p style="text-align: center;"><img alt="" src="https://upload.acmicpc.net/9c88dd24-3a4c-4a09-bc50-e6496958214d/-/preview/" style="width: 267px; height: 265px;"></p>
18+
19+
<p>전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다.</p>
20+
21+
<p>숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다.</p>
22+
23+
<p>상근이의 할머니는 전화 번호를 각 숫자에 해당하는 문자로 외운다. 즉, 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 걸면 된다. 예를 들어, UNUCIC는 868242와 같다.</p>
24+
25+
<p>할머니가 외운 단어가 주어졌을 때, 이 전화를 걸기 위해서 필요한 최소 시간을 구하는 프로그램을 작성하시오.</p>
26+
27+
### 입력
28+
29+
<p>첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.</p>
30+
31+
### 출력
32+
33+
<p>첫째 줄에 다이얼을 걸기 위해서 필요한 최소 시간을 출력한다.</p>
34+
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import java.io.*;
2+
3+
public class Main {
4+
public static void main(String[] args) throws IOException {
5+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
6+
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
7+
String input = br.readLine();
8+
9+
int sum = 0;
10+
11+
for (int i = 0; i < input.length(); i++) {
12+
switch (input.charAt(i)) {
13+
case 'A':
14+
case 'B':
15+
case 'C':
16+
sum += 3;
17+
break;
18+
case 'D':
19+
case 'E':
20+
case 'F':
21+
sum += 4;
22+
break;
23+
case 'G':
24+
case 'H':
25+
case 'I':
26+
sum += 5;
27+
break;
28+
case 'J':
29+
case 'K':
30+
case 'L':
31+
sum += 6;
32+
break;
33+
case 'M':
34+
case 'N':
35+
case 'O':
36+
sum += 7;
37+
break;
38+
case 'P':
39+
case 'Q':
40+
case 'R':
41+
case 'S':
42+
sum += 8;
43+
break;
44+
case 'T':
45+
case 'U':
46+
case 'V':
47+
sum += 9;
48+
break;
49+
case 'W':
50+
case 'X':
51+
case 'Y':
52+
case 'Z':
53+
sum += 10;
54+
break;
55+
}
56+
}
57+
bw.write(String.valueOf(sum));
58+
bw.flush();
59+
bw.close();
60+
}
61+
}

0 commit comments

Comments
 (0)