본문 바로가기

알고리즘 문제 풀이/Baekjoon

5622 - 다이얼

반응형
SMALL

해싱으로 풀어봤는데, 너무 간단해서 해싱이라고 표현하기도 그렇네요.

 

어쨋든, 다이얼 중간마다 4개인 애들만 잘 처리하면 쉽게 풀 문제입니다.

 

근데, 저는 항상 문자열을 크게 받고 순회할 때 널 문자 체크를 안해서 답이 계속 오답으로 나왔는데, 여러분들은 그렇게 안 하셨으면 합니다.

 

까먹지마세요.

 

#include <stdio.h>

int main(void) {
	char word[16];

	scanf("%s", word);

	int arr[100];
	
	int time = 3;
	int cnt = 0;

	for (int i = 65; i < 91; ++i) {
		if (i == 90) {
			arr[90] = time - 1;
			break;
		}
		else if (i == 'S') {
			arr[i] = time - 1;
			cnt = 0;
			continue;
		}
		arr[i] = time;
		cnt += 1;
		if (cnt == 3) {
			cnt = 0;
			time += 1;
		}
	}
	int result = 0;
	for (int i = 0; i < 16; ++i) {
		if (word[i] == '\0') { // 이 부분
			break;
		}
		result += arr[word[i]];
	}
	printf("%d", result);
}

반응형
LIST

'알고리즘 문제 풀이 > Baekjoon' 카테고리의 다른 글

17141 - 게리맨더링  (0) 2019.09.20
11052 - 카드 구매하기  (0) 2019.08.12
10809 - 알파벳 찾기  (0) 2019.08.11
11720 - 숫자의 합 (C)  (0) 2019.08.11
미로 탐색 - 2178 (C++)  (0) 2019.06.28