whgkdrjs4321   5년 전

안녕하세요. 다름이 아니라 백준 <15780-멀티탭 충분하니?> 문제에 대해 질문을 하고 싶습니다.

처음에 제가 짠 코드는 다음과 같습니다. 그런데 저렇게 for문을 이용하면 에러가 걸리는데, while문으로 작성하면 정답으로 인정합니다.

도대체 무엇이 문제일까요? 고수님들의 답변을 기다립니다.

djm03178   5년 전

for문으로 해도 에러는 안 걸립니다. 에러는 딱 두 종류 (컴파일 에러, 런타임 에러) 뿐입니다. 틀렸습니다는 에러가 아니고 틀린 것입니다.

그리고 while (k--) 로 바꿔도 정답이 안 됩니다. 13, 14번째 줄을 a[k]로 바꿔도 안 됩니다. 왜냐하면 출력은 YES 또는 NO로 해야 하는데 Yes 또는 No를 출력하고 있기 때문입니다.

whgkdrjs4321   5년 전

답변에 감사드립니다. 그렇지만 while문으로 고치면 실제로 정답이라고 뜨고 for문을 사용 시 에러가 납니다. 아래에 링크를 참조해둡니다.

http://boj.kr/854e6804730147ab...

처음에 for문을 이용해서 풀었는데 계속해서 틀렸다고 떠서 혹시나 해서 while문으로 바꿨더니 정답이 나와서 혹시 제가 모르는 for문과 while문의 차이가 있을까하여 질문을 했습니다.

혹시 제가 짠 for문 코드에서 무언가 잘못된 점이 있다면 알려주시면 감사하겠습니다.

그리고 혹시 출력을 Yes 또는 No 로 해야 한다는 말이 무슨 말인지도 알려주실 수 있으실까요?

djm03178   5년 전

대소문자가 중요합니다.

Yes -> YES

No -> NO

djm03178   5년 전

링크를 걸어주신 코드를 보면 질문글의 코드와 달리 제대로 YES, NO로 출력하고 있습니다.

djm03178   5년 전

다시 말씀드리지만 while문과 for문이 달라서 결과가 다른 것이 아니고, for문으로 짠 코드는 대소문자가 틀렸기 때문에 틀렸을 뿐입니다.

whgkdrjs4321   5년 전

헉! 진짜 감사합니다. 처음에 댓글에 달아주신 말씀이 무슨 말인지 이해를 못했었네요. 잘못을 짚어주셔서 정말로 감사드립니다.

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