qkrwntjs27   2년 전

어느부분이 틀린건지 잡아주실 선생님 계십니까..??

seolminsik   2년 전

m == 45인 경우가 없어서 이런 경우에는 출력 자체가 안됩니다.

wizardrabbit   2년 전

안녕하세요? 반례 드리겠습니다:

#1
입력 : 0 50
정답 : 0 5
출력 : 23 65
#2
입력 : 1 45
정답 : 1 0
출력 : (출력된 결과가 없음)

두 가지 문제를 찾았습니다.

1. 11번째 줄부터 시작하는 조건문을 확인해 보세요.

시간이 0시인 경우 몇 분인지에 상관없이 코드가 시간을 받아내립니다. 시간이 0시이더라도 분이 45 이상이라면, 45을 빼더라도 분이 0 아래로 내려가지 않으니, 시간에 받아내림을 적용해서는 안 됩니다. 그러니, 분이 45 미만일 경우에만 시간을 받아내리도록 추가 조건을 넣어주시면 될 것 같습니다.

2. 17, 24번째 줄부터 시작하는 조건문을 확인해 보세요.

첫 번째 조건문은 분이 45 미만일 경우에 실행되며, 두 번째 조건문은 분이 45 초과일 때 발생합니다. 그렇기 때문에 분이 45일 경우 두 조건문 모두 만족하지 않아 어떠한 코드도 실행되지 않습니다. 따라서 24번째 줄부터 시작하는 조건문의 발동 조건을 45 초과가 아닌 45 '이상' 으로 하거나, 그냥 17번째 조건문이 만족하지 않을 때만 실행이 되도록 간단하게 else 문으로만 해결하셔도 됩니다.

문제가 해결되었기를 바랍니다.

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