입력
알파벳 대문자로 이루어진 단어
출력
다이얼을 걸기 위해 필요한 시간
문제 풀이
단순히 각각의 케이스를 if문으로 나열하는 것도 가능합니다. 그러나 코드가 길어지는게 싫었어요ㅠㅠ
그래서 A의 아스키 코드 값이 65인 것을 활용하여 문제를 풀었습니다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <iostream>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
char a[16];
cin >> a;
int ans = 0;
for (int i = 0; a[i]; i++)
{
int x = a[i];
if (x >= 90)
x = (x - 67) / 3 + 3;
else if (x >= 83)
x = (x - 66) / 3 + 3;
else
x = (x - 65) / 3 + 3;
ans += x;
}
cout << ans << '\n';
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5; text-decoration:none">Colored by Color Scripter
|
제출 결과
문제 출처
https://www.acmicpc.net/problem/5622
5622번: 다이얼
문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다.
www.acmicpc.net
'algorithm codes > baekjoon online judge' 카테고리의 다른 글
1475번: 방 번호 (백준 온라인 저지, C++) (0) | 2019.03.31 |
---|---|
2775번: 부녀회장이 될테야 (백준 온라인 저지, C++) (0) | 2019.03.31 |
2908번: 상수 (백준 온라인 저지, C++) (0) | 2019.03.31 |
2675번: 문자열 반복 (백준 온라인 저지, C++) (0) | 2019.03.31 |
11654: 아스키 코드 (백준 온라인 저지, C++) (0) | 2019.03.30 |