mko457   7년 전

테스트 케이스 넣어봐도 도저히 안되는 경우를못찾겠네요...

키가 같은 난쟁이는없다, 일곱난쟁이 키의 합은 100이다 를 토대로 

아홉 난쟁이의 키 - 100 = n(가짜 난쟁이 둘의 키)

1,(n-1) 2,(n-2) ...를 반복적으로 양쪽 다 만족 하는 키가있는지 검사하여

가짜 난쟁이 둘을 찾아내도록 만들었습니다.


가짜난쟁이의 키는 int.maxValue로 설정해 정렬시 8번,9번에 위치하게 하여 출력할 때 생략하게 되었고

문제에서 주어진 예제 입력이나 테스트케이스 몇개 돌려봐도 정상적으로 작동하는데 계속 틀렸다고 나오네요...

혹시 소스상에서 문제되는 부분이 있을까요?


dotorya   7년 전

i < total/2까지 순회하는 건 부족합니다. (ex. total = 5이면 (2,3)이 누락됩니다.)
i <= total/2로 수정하셔야 할듯 합니다.

mko457   7년 전

감사합니다 해당부분과

if(Array.IndexOf(list,i) > 0 && Array.IndexOf(list,total-i) > 0)

부분도 초과로 설정되어있었네요!! 해결했습니다!!

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