teamaae   6년 전

꽤나 많은 테스트 케이스를 돌려서 많은 부분을 수정하였는데도, 아직 오답으로 나오네요..

고수님들 찾아주시면 감사하겠습니다ㅠㅠ


movie_jo   6년 전

transformResult 값이 동일한 경우에 문제가 생길 것 같아요

그런 경우 transformOrigin의 가장 앞쪽에 있는 iter2로 같은 값이 2개 들어가서

앞에서 Z로 바꾼 값을 다시 Z로 바꾸려고 시도할 것 같네요

teamaae   6년 전

movie_jo님, 날카로운 지적 감사합니다. 짧긴하지만.. 스파게티 코드라 읽기 힘드셨을텐데 말이에요.

49~57번째줄을 지적해주신것 같습니다.

말씀해주신 부분은 제가 신경쓰지 못한 부분이었습니다. 저도 movie_jo님의 말이 맞다고 생각하여 테스트를 하는데,  같은 iter2값이 2개가 들어가지 않았습니다.

왜 그런거 보았더니 String 비교할 때 equals를 쓰지 않고 ==로 하였기 때문에 주소 값으로 비교하였기 때문입니다. Arrays.sort 역시 주소 값을 변경해주는 것이라, 결국 같은 값이여도 고유 주소값(C에서 POINTER?) 를 비교하였기 때문에, 같은 iter2 값이 들어가는 일은 없었습니다..

그래도 불안하여 이 부분을 equals로 바꾸고, 관련 코드도 수정해서 돌려보았으나, 역시 오류가 나왔습니다.  참고로 아래는 49~57 수정 코드 입니다.. equals 부분 빼곤 달라진 것이 없습니다.

movie_jo   6년 전

자바 알못이라.. ㅠㅠ

재도전하겠습니다

50자리 36진수 50개를 더하면 최대 52자리가 될 것 같습니다

teamaae   6년 전

그러네요 맨마지막에 올림되었을 때, 2자리가 될 수 있군요.. 그래서

105번째라인에서 50=>51, 118~129 라인을 아래와 같이 수정했습니다.

이후 ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 를 50개 넣었더니

1DZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYM 정상 출력되었습니다.

이렇게 고쳤는데도! 아직 정답이 아니네요... 아쉽... 계속 들여다봐야겠습니다 ㅠㅠ..



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