roeniss   2년 전

1. 문제에서 첫째 줄에 대소문자 입력이 주어진다고 해서 gets으로 받았습니다. arr[1000001]에 넣었구요.

2. set[26]은 각각의 알파벳 개수에 대응하는 배열입니다.

3. 각 알파벳의 두 아스키코드(소문자, 대문자)가 현재 arr[j]와 같으면 set[j]를 +1 했습니다(해당 알파벳 갯수 1 증가)

=> 따라서 스페이스바가 중간에 아무리 많아도 카운트 자체가 안됨

4. 제일 높은 set[j] = best_add ,  제일 높은 set[j]의 j=best

5. 맨 마지막 for문은 최고 출현 알파벳이 두 개 이상인지 확인하는 코드입니다. 그 윗 for문에서 추출된 알파벳 번호는 빼고 체크를 해야되니까, j=best일때 continue로 패스했습니다.



모든 케이스 다 잘되는 것 같은데... 어디가 문제일까요 ㅠㅠ

roeniss   2년 전

부끄럽게도 문제 올리자마자 해결했습니다(거의 관종..).

저처럼 헤매시는 분 계실까봐 안지우고 댓글로 남깁니다.


저는 ideone.com라는 온라인 컴파일러를 사용했는데, 여기서는 int를 선언하면 초기값을 0으로 잡아주는 것 같습니다. 


혹시나 해서 맨 윗줄에

int best_add=0,best=0;

라고 잡아주니 바로 해결되네요.

댓글을 작성하려면 로그인해야 합니다.