wie_eiw   6년 전

메모리 초과나는 이유 좀 알려주세요!!

게임판의 각 위치를

1 2 3

4 5 6

7 8 9

이라고 생각했을 때 

열(col) 별로

1 2 0 이므로  

왼쪽으로 갈 수 있는 경우는 

0의 위치 % 3 가 짝수일 때이고 현재 0의 위치과 0의 위치-1 한 값을 바꿔준다.


오른쪽으로 갈 수 있는 경우는

 0의 위치 % 3 이 0이 아닐 때 현재 0의 위치과 0의 위치+1 한 값을 바꿔준다.

위로 갈 수 있는 경우는 

0의 위치 > 3일 때 현재 0의 위치과 0의 위치-3 한 값을 바꿔준다.

아래로 갈 수 있는 경우는 

0의 위치 < 7 일 때 현재 0의 위치과 0의 위치+3 한 값을 바꿔준다. 

이런식으로 풀었습니다.

 

예제에서는 결과가 잘 나오고 다른 케이스도 잘 나오는 것 같은데 제출하게되면 메모리 초과가 납니다.

제가 stirng을 잘 써보지 않아서 메모리 관리를 어떻게 해야할지도 모르겠고 혹시 제가 생각한 방법이 중복된 값을 큐에 넣는건 아닌지 생각해봤는데 잘 모르겠습니다.

도와주세요~!!

jh05013   6년 전

이 문제의 메모리 제한을 보세요. 메모리를 아껴 써야 하는 문제입니다.

string으로 저장할 필요가 없습니다.

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