surung9898   5년 전

생각할 수 있는 테스트 케이스는 전부 다 맞게 잘 나오는데 왜 틀렸다고 하는지 도저히 모르겠습니다...

제발 고수님들 도와주십시오 ㅠㅠㅠ

djm03178   5년 전

a[str[i] - 97] = i++; 은 undefined behavior인 것으로 알고 있습니다. i가 증가되는 시점이 str 안의 i가 계산된 이후인지, 아니면 i가 먼저 증가된 후에 str 안의 i가 평가될지는 정해져있지 않기 때문에 컴파일 환경에 따라서 동작이 다를 수 있습니다.

다음과 같이 하면 맞습니다.


djm03178   5년 전

또한 97이라는 수 대신에 'a'를 쓰시기를 권장합니다. 아스키 코드가 기본 문자 체계가 아닌 시스템을 사용할 경우 문제가 될 뿐더러, 가독성이 좋은 'a' 대신에 굳이 수로 옮긴 97을 쓸 마땅한 이유가 없습니다.

surung9898   5년 전

감사합니다 ㅠㅠ

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