mjkim103301   4년 전

케이스가 0 0일때도 잘 되는데 왜 틀렸습니다가 뜨는지 모르겠습니다.

djm03178   4년 전

49번째 줄이 실행될 때의 T는 0이므로 result에는 크기가 0인 배열이 할당됩니다. 당연히 54번째 줄이 접근하는 result[i]는 모두 배열의 범위를 초과합니다.

mjkim103301   4년 전

T를 나중에 입력받아서 크기가 T인 배열이 생성되는 것 아닌가요? 테스트케이스는 모두 바르게 나옵니다.ㅠㅠ

djm03178   4년 전

프로그램은 위에서 아래로 실행되니 입력을 받기 전에 크기가 T인 배열이 먼저 할당되고, 이 때는 입력을 안 받았으니 크기가 0입니다.

그리고 크기가 0인 배열이라고 하더라도 일단 어떤 주소가 할당이 되는데 이 주소는 프로그램이 사용하고 있는 다른 변수들과 비슷한 주소이기 때문에, 약간 배열의 범위를 초과하는 것으로는 에러가 나지 않을 수도 있습니다.

그리고 통과한 것은 테스트 케이스가 아니라 예제입니다. 채점할 때 채점 프로그램이 넣는 입력들도 모두 테스트 케이스이고, 이 테스트 케이스에서 틀렸기 때문에 오답 판정을 받은 것입니다.

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