smg20   1년 전

vscode에서 잘 실행이 되는데 왜 틀렸다고 나오지 잘 모르겠습니다... 알려주시면 감사하겠습니다.

pill27211   1년 전

반례입니다.

Input)

aabba

output)

(아무것도 출력되지 않음)

그리고 예제 4번부터 틀리고 있지 않나요 ?

smg20   1년 전

preview

예제4번이랑 aabba입력하면 정상적으로 A가 출력이 됩니다.ㅠㅠ

pill27211   1년 전

Input)

QWEASDZW

Output)

?

Answer)

W

위 반례도 확인해 보세요 !

djm03178   1년 전

처음 pill27211님이 드린 데이터와 예제 4번은 환경에 따라서 반례가 될 수도 있고 안 될 수도 있습니다. 코드에 undefined behavior가 있기 때문입니다.

tmp가 초기화되지 않았기 때문에, A가 가장 많이 등장한 경우 tmp에 아무런 값이 대입되지 않은 상태가 되므로, 52번째 줄의 조건 검사시에 무슨 일이 벌어질지 알 수 없습니다.

djm03178   1년 전

그리고 아래 제시해주신 데이터 이외에도, alphabet 배열이 char로 선언되었기 때문에 100만 개의 글자를 카운트하지 못합니다. int로 세어야 합니다.

smg20   1년 전

pill27211님, djm03178님 해결했습니다. 감사합니다~! 많은거 배워가네요!

추가로 djm03178님 궁금한게 있습니다. djm03178님이 alphabet 배열이 char로 선언되었기 때문에 100만 개의 글자를 카운트하지 못한다고 말하셨는데요.  alphabet의 배열요소는 char이여서 반복된 문자가 100만개가 있을때 char의 범위를 넘어서 카운트하지 못한다는 말이죠?? 

djm03178   1년 전

네, char는 127까지밖에 세지 못합니다.

smg20   1년 전

감사합니다:)

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