본문 바로가기

프로그래밍/백준

백준 5622번: 다이얼 (C언어)

https://www.acmicpc.net/problem/5622

 

5622번: 다이얼

문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다.

www.acmicpc.net

 

더보기
#include<stdio.h>
int main(){
	char str[16];
	int i, count;
	i = count = 0;
	
	scanf("%s", &str);
	
	while(str[i]!='\0'){
		switch(str[i]) {
			case 'A': case 'B': case 'C':
				count += 3; break;
			case 'D': case 'E': case 'F':
				count += 4; break;
			case 'G': case 'H': case 'I':
				count += 5; break;
			case 'J': case 'K': case 'L':
				count += 6; break;
			case 'M': case 'N': case 'O':
				count += 7; break;
			case 'P': case 'Q': case 'R': case 'S':
				count += 8; break;
			case 'T': case 'U': case 'V':
				count += 9; break;
			default:
				count += 10; break;
		}
		i++;
	}
	printf("%d", count);
	
	return 0;
}