틀린 코드의 경우
문자 하나당 모든 알파벳을 탐색하게 됩니다.
따라서 aa 같은 입력이 들어오면
첫번째 a에 if문이 참이 되어 num배열에 0이 저장이 되고 빠져나옵니다.
그 이후, 두번째 a를 기준으로 탐색을 하게 되고 두번째 a도 참이 되어 num배열에 1이 저장되고 빠져나옵니다.
따라서 1 -1 -1 -1 -1 ...
같은 반례가 생깁니다.
반면, 맞은 코드의 경우
알파벳을 기준으로 탐색하게 됩니다.
aa 입력이 들어오게 되면
a를 기준으로 탐색하여 제일 첫번째 a가 if문 참이 되면서 배열 탐색을 종료하며 b를 기준으로 탐색하게 됩니다.
두서없이 적어 이해가 어려우시면 댓글 부탁드립니다.
yeonsoocho 2년 전
for문에서 길이까지 반복하는 for문과 a~z까지 반복하는 for문의 위치만 바꿨을 뿐인데 결과가 다른 이유가 뭔지 알 수 있을까요?
도저히 모르겠습니다.
맞는코드:22~27
틀린코드:14~18
그외코드는 동일합니다.