저는 재귀에 메모이제이션을 추가해서 해결했어요.
일단 한가지 걱정되는 부분은,
왼쪽으로 갔다가 오른쪽으로 갔다가
다시 왼쪽으로 갔다가 오른쪽으로 갔다가 뭐 이런식으로 들어 가면, 스택 오버 플로우가 날거 같아요.
아예 방향을 지정해서 들어가는건 어떨까요.
2169번 - 로봇 조종하기
저는 재귀에 메모이제이션을 추가해서 해결했어요.
일단 한가지 걱정되는 부분은,
왼쪽으로 갔다가 오른쪽으로 갔다가
다시 왼쪽으로 갔다가 오른쪽으로 갔다가 뭐 이런식으로 들어 가면, 스택 오버 플로우가 날거 같아요.
아예 방향을 지정해서 들어가는건 어떨까요.
처음 부터 다음 방향을 정해두는거에요.
예를들면
filot님 코드에서는 맨 밑에서부터 위로 가는 거 잖아요.
(i,j)위치에 있다고 가정할때, 위로 올라갔을때,
거기서 방향은 왼쪽으로만 가게하거나 오른쪽으로만 가게하는 거죠.
1000 * 1000이면 scanner로 인한 손해도 꽤 될 것 같아요
bufferedstreamreader(??) 였나를 사용해보세요요
실험해보니 BufferedReader를 사용하면 100만개의 수를 입력받는데 0.8초 정도,
scanner로는 2.5초 정도 걸리네요
댓글을 작성하려면 로그인해야 합니다.
filot 6년 전
지금 재귀로 풀어볼려고 하는데 ... 오른쪽 -> 왼쪽으로 오는 케이스 때문에 잘 안되네요.
그 부분 때문에 stackoverflow가 나는 상황인데... 재귀로는 안되는건지 ..