반응형
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 |