rlatjdwo555   2년 전

우선 저는 다른분들과 다르게 2차원 배열을 String으로 변환하여 풀었습니다. 

블럭의 값이 2의 n승이므로 1024 ~ 32768 까지는 16진수로 변환하여 A~F 로 문자열 값을 만들어 비교하였습니다. 

게시판에 올라와있는 거의 모든 반례를 테스트해보고 통과했지만

제출을 하자마자 틀렸습니다 라고 나오는데 어떤 부분에서 예외가 발생하는지 모르겠습니다.. 

djm03178   2년 전

반례 몇 개 드립니다.

rlatjdwo555   2년 전

작성자입니다.  확실한 문제점을 알 수 있는 반례 감사드립니다 ㅠ 

문제되는 곳이 95행 c = c == '9' ? 'A' : (char)(queue.poll()+1); 이 부분이였습니다 

블럭을 합칠때 9->'A' , 즉 512를 합치는 경우에만 큐에서 꺼내지 않고 있었네요.. 정말 감사합니다

alsgkgk777   2년 전

2번쨰 반례에서 1024가 어떻게 나오는건지 이해가안되네요...

제가 문제를 잘못 이해하고 있는건가 ㅠㅠ

256 + 256 해서 512된게 

다시 512랑 합쳐질 수 있는건가요??

djm03178   2년 전

문제에 걸려있는 https://gabrielecirulli.github... 이 링크를 누르면 게임을 해볼 수 있습니다.

2번째 예시는 왼쪽으로 움직이면 256 2개가 합쳐지고, 다시 위로 올리면 512 둘이 합쳐지게 됩니다.

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