반례 몇 개 드립니다.
12100번 - 2048 (Easy)
작성자입니다. 확실한 문제점을 알 수 있는 반례 감사드립니다 ㅠ
문제되는 곳이 95행 c = c == '9' ? 'A' : (char)(queue.poll()+1); 이 부분이였습니다
블럭을 합칠때 9->'A' , 즉 512를 합치는 경우에만 큐에서 꺼내지 않고 있었네요.. 정말 감사합니다
2번쨰 반례에서 1024가 어떻게 나오는건지 이해가안되네요...
제가 문제를 잘못 이해하고 있는건가 ㅠㅠ
256 + 256 해서 512된게
다시 512랑 합쳐질 수 있는건가요??
문제에 걸려있는 https://gabrielecirulli.github... 이 링크를 누르면 게임을 해볼 수 있습니다.
2번째 예시는 왼쪽으로 움직이면 256 2개가 합쳐지고, 다시 위로 올리면 512 둘이 합쳐지게 됩니다.
댓글을 작성하려면 로그인해야 합니다.
rlatjdwo555 3년 전
우선 저는 다른분들과 다르게 2차원 배열을 String으로 변환하여 풀었습니다.
블럭의 값이 2의 n승이므로 1024 ~ 32768 까지는 16진수로 변환하여 A~F 로 문자열 값을 만들어 비교하였습니다.
게시판에 올라와있는 거의 모든 반례를 테스트해보고 통과했지만
제출을 하자마자 틀렸습니다 라고 나오는데 어떤 부분에서 예외가 발생하는지 모르겠습니다..