1463번 - 1로 만들기
bfs로 풀었습니다
정말 정직하게 트리 레벨별로 훑으면서 내려갔구요
중복 탐색 방지하려고 배열 선언했습니디ㅏ
아직 시간 복잡도 개념이 제가 안잡힌건가...
다른 풀이 보니깐 저처럼 한 레벨씩 안하고 큐로 넣고 빼고 한개씩 하는 것도 있던데
그거랑 제가 코딩한거랑 제가 보기엔 시간은 같아 보이는데 왜 시간 초과가 날까요
아님 제가 시간 복잡도 아직 못 파악하는 건가요
BFS는 큐에서 뺀 뒤가 아닌 큐에 넣을 때 방문 표시를 해야 중복 방문이 일어나지 않습니다.
while()문 안에 3개의 q.push()에서 각각 모두 visited=true 해주어야 할 것 같아요.
저렇게하면 재방문해서 시간초과 뜰거에요.
visited[tmp/3] = true
visited[tmp/2] = true
visited[tmp-1] = true
모두 push밑에 해주었는데도 시간 초과가 나네요.... 뭐죠..도저히 머리를 굴려도 모르겠네요
1 넣으면 안 끝날 것 같네요.
1이 문제였네요 ㅠㅠ 감사합니다.. ㅠㅠ
댓글을 작성하려면 로그인해야 합니다.
kiyoon123 4년 전
bfs로 풀었습니다
정말 정직하게 트리 레벨별로 훑으면서 내려갔구요
중복 탐색 방지하려고 배열 선언했습니디ㅏ
아직 시간 복잡도 개념이 제가 안잡힌건가...
다른 풀이 보니깐 저처럼 한 레벨씩 안하고 큐로 넣고 빼고 한개씩 하는 것도 있던데
그거랑 제가 코딩한거랑 제가 보기엔 시간은 같아 보이는데 왜 시간 초과가 날까요
아님 제가 시간 복잡도 아직 못 파악하는 건가요