22행 visit[i*1] = 0에서 visit[i*2] = 1로 고치고, 14행과 18행도 visit [i - 1] = 1, visit[i + 1] = 1로 수정하셔야합니다.
지금 상황에선 visit을 체크하지 않아서 계속 같은 곳을 중복으로 탐색하게 됩니다.
그리고 임의의 값 5를 시작할 때 추가하셨는데, 5가 아니라 N을 추가해야 시작점에서부터 탐색할 수 있습니다.
visit[N] = 1
a = [[N]]
c = [N] 으로 수정하셔야겠네요. 현재 풀이에서 c는 필요없는 것 같습니다.
그리고 visit은 100000이 최대가 아닙니다. 99에서 197을 간다면 *2해서 198로 이동한 다음 -1을 하는 것이 최소시간인데, 이처럼 생각하면 visit의 최대 크기가 몇이 될지 생각해보시기 바랍니다.
effort98 2년 전
여기서 계속 수정을 해도
메모리 초과나 시간초과가 계속 뜨네요..
어케 해결하는거죠..