본문 바로가기
알고리즘/문자와 문자열

1157 단어공부

by tryotto 2020. 1. 3.
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