반응형
문제출처
https://www.acmicpc.net/problem/1157
문제풀이
문자열을 입력받고 알파벳개수(26)개의 int형 배열을 선언한 뒤 반복문을 통해 갯수를 세어주면 되는
간단한 문제입니다. ASCII 값을 알고 있는지 확인하는 문제
소스코드
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 | #include <cstdio> #include <cstring> int main() { char s[1000001]; int cnt[26]; scanf("%s", &s); memset(cnt, 0, sizeof(cnt)); int len = strlen(s); for(int i=0; i<len; i++) { if(s[i] >= 'a' && s[i] <= 'z') s[i]-='a'-'A'; cnt[s[i]-'A']++; } int max=0, idx=-1; for(int i=0; i<len; i++) { if(max<cnt[s[i]-'A']) { max=cnt[s[i]-'A']; idx=i; } } int duplicateCnt=0; for(int i=0; i<26; i++) { if(max==cnt[i]) duplicateCnt++; } if(duplicateCnt==1) printf("%c\n", s[idx]); else printf("?\n"); return 0; } | cs |
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스 42840] 모의고사(완전탐색) (0) | 2019.04.23 |
---|---|
[BOJ 1655] 가운데를 말해요 (0) | 2019.04.16 |
[BOJ 2675] 문자열 반복 (0) | 2019.04.15 |
[BOJ 13458] 시험감독 (0) | 2019.04.15 |
[BOJ 1057] 토너먼트 (0) | 2019.04.15 |