https://www.acmicpc.net/problem/5622
5622번: 다이얼
첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.
www.acmicpc.net
다이얼에 적혀있는 알파벳과 숫자를 연동해서 푸는 문제.
알파벳에 따라 다이얼의 숫자로 바꾼 후에, 시간을 계산한다. 하나의 다이얼을 입력하는데 걸리는 시간은 다이얼에 적혀있는 숫자+1초만큼 걸리므로, 더해줄 때 1을 같이 더해준다.
#include <stdio.h>
#include <string.h>
int change (const char a) {
if (a == 'A'|| a == 'B'|| a == 'C') return 2;
if (a == 'D'|| a == 'E'|| a == 'F') return 3;
if (a == 'G'|| a == 'H'|| a == 'I') return 4;
if (a == 'J'|| a == 'K'|| a == 'L') return 5;
if (a == 'M'|| a == 'N'|| a == 'O') return 6;
if (a == 'P'|| a == 'Q'|| a == 'R'|| a == 'S') return 7;
if (a == 'T'|| a == 'U'|| a == 'V') return 8;
if (a == 'W'|| a == 'X'|| a == 'Y'|| a == 'Z') return 9;
}
int main () {
char a[15];
int time = 0;
scanf("%s", a);
for (int i = 0; i < strlen(a); i++) {
time += change(a[i]) + 1;
}
printf("%d", time);
return 0;
}
여담으로 string.h의 strlen함수를 쓰면 쓸수록 이게 더 좋다는게 느껴진다.
'coding_test > BAEKJOON' 카테고리의 다른 글
백준 1316번 C언어 풀이 (0) | 2021.08.14 |
---|---|
백준 2941번 C언어 풀이 (0) | 2021.08.13 |
백준 2908번 C언어 풀이 (0) | 2021.08.12 |
백준 1152번 C언어 풀이 (0) | 2021.08.11 |
백준 1157번 C언어 풀이 (0) | 2021.08.10 |