ehdbs20   3년 전

혹시 반례가 있을까요?

저 혼자서는 도저히 못찾겠어서 질문드립니다

eric00513   3년 전

입력으로 다음과 같은 수들을 넣어보시면 좋을 것 같습니다.

23~24, 37~38번째 줄에서 출력을 하기 때문에 잘못된 결과가 나오는 것 같습니다. (아래 반례들은 len1 ≠ len2인 경우입니다.)

eric00513   3년 전

새로 제출하신 코드는 23~24, 37~38번째 줄을 제거하신 것 같습니다.

또 하나의 문제점은 출력 맨 끝에 '?' 같은 문자를 하나 출력한다는 것입니다. 이것은 for (i = len; i >=0; i--) 반복문에서 i = len일 때 발생합니다.

i = len이면 a[i], b[i]에 모두 널문자가 들어가 있어서 else 부분으로 들어가게 되고 이때 c[i] = 0 + 0 - '0' = -48로 저장됩니다.

따라서 for문에서 i의 초깃값이 len이면 안 될 것 같습니다. 어떻게 바꿔야 할지는 스스로 해결해 보시면 좋을 것 같습니다.

ehdbs20   3년 전

감사합니다! 비주얼 스튜디오에서는 마지막에 아무것도 출력 안되고 제대로 나와서 앓고 있었습니다... i=len-1로 바꾸니까 바로 정답처리가 되네요! 감사합니다!

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