1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include <stdio.h> #include <string.h> int toBig(char c) { int intC = (int)c; if (intC >= 97) intC -= 32; return intC; } int main() { int chk[100] = {}, maxN = 0, maxIdx = -1, flag = 0; char arr[1000001]; scanf("%s", &arr); int len = strlen(arr); for (int i = 0; i < len; i++) { int idx = toBig(arr[i]); chk[idx]++; if (maxN == chk[idx]) { flag = 1; maxIdx = idx; } else if (maxN < chk[idx]) { flag = 0; maxIdx = idx; maxN++; } } if (flag == 1) printf("?"); else printf("%c", (char)maxIdx); } | cs |
strlen 을 조건문 안에 쓸 경우, 시간초과
'알고리즘 > 문자와 문자열' 카테고리의 다른 글
5622 다이얼 (0) | 2020.01.04 |
---|---|
2908 상수 (0) | 2020.01.04 |
11654 아스키 코드 (0) | 2020.01.03 |
blurred vision 더블릿 (0) | 2019.03.01 |
world cup 더블릿 (0) | 2019.02.28 |