vage   4년 전

아래 코드에서 입력이 N으로 들어왔을 때, 맨처음에는 Integer.MAX_VALUE를 넣었는데 11%에서 계속 틀려서 알고리즘이 틀린 줄 알았습니다.

도저히 모르겠어서 다른분 코드봐도 제 알고리즘과 같은데 값을 987654321를 넣어주더라구요.(저도 이렇게바꾸니 통과는 했습니다) 이게 어떤 차이가 있는건가요?

문제에 딱히 주어진것도 없는거같은데.. 답변해주시면 감사하겠습니다.

exponential_e   4년 전

이미 해결하신진 모르겠으나,

아래 케이스의 경우에서 Integer.MAX_VALUE를 사용하시면 오답이 발생합니다.

원인은 46번째 줄에서 인티저 오버플로우가 발생했기 때문입니다.

이러한 경우 최대로 들어올 수 있는 값을 계산하여 한정하거나 귀찮으시면 그냥 integer 맥스 박고 배열을 long으로 선언해 쓰시면 될 것 같습니다.

vage   4년 전

@exponential_e

답변 감사합니다!!

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