문의한 코드는 삭제합니다.
이렇게 적어서 공백이 2개 이상 들어간 조건은 깜빡하고 그냥 제출했는데요
이게 이상하게 정답으로 처리돼서 왜 정답으로 처리됐는지 고민하고 있습니다.
저대로 하면 공백은 제대로 처리가 안돼야 할 텐데 공백을 2개 이상 넣어서
nur se run 을 입력해도 제대로 1이 나와버리네요... 왜 이런 걸까요??
+ 문자 맨 앞이나 맨 뒤에 공백을 넣으면 0이 나오긴 하네요! 근데 왜 문자 사이에 들어간 공백은 무시하는걸까요??
++ 아 if 밑에 {} 괄호를 빼먹어서 걍 처음부터 for 문에 break가 걸려서 이렇게 된 것 같습니다 이 이유인 것 같아요! {} 제대로 넣으니까 공백 넣으면 틀리게 나오네요
처음 if 조건 적용할 때 첫글자랑 마지막 글자가 다르면 false로 바뀐 다음 바로 break 걸리고 첫글자랑 마지막 글자만 같으면 바로 다음줄에서 break 걸려서 nur se run도 true인 상태로 나오는 거였던 것 같습니다
(도장_ 관리자님이 수정함 - 원문 제출일: 금요일, 14 1월 2022, 3:58 오후)
우연의 일치로 통과한 것입니다.
심사 테스트 케이스를 추가해서 우연의 일치로 통과할 수 없게 수정했습니다.
다시 테스트해보세요.
조금 더 부연하자면
해당 코드는 입력의 첫 글자와 끝 글자만 비교하고 무조건 종료됩니다.
통상의 회문 테스트 케이스는 앞 글자와 끝 글자가 같고, 중간 글자가 다르기 때문에 회문 여부를 판별하게 되는데, 우연히도 이런 틈새가 있어서 통과가 된 것입니다.
이제 앞 글자와 끝 글자가 다른 케이스도 추가해서 보완했습니다.