자격증/COS Pro 1급 Python
[COS Pro python 1급] 몇번 연산을 해야하나요
그럴만두해
2023. 3. 16. 01:48
import queue
def solution(number, target):
answer = 0
visited = [0 for _ in range(10001)]
q = queue.Queue()
q.put(number)
visited[number] = 1
while not q.empty():
x = q.get()
if x == target:
break
if x+1 <= 10000 and visited[x+1] == 0:
visited[x+1] = visited[x]+1
q.put(x+1)
if x-1 >= 0 and visited[x-1] == 0:
visited[x-1] = visited[x]+1
q.put(x-1)
if 2*x <= 10000 and visited[2*x] == 0:
visited[2*x] = visited[x]+1
q.put(2*x)
answer = visited[target]-1
return answer
Queue import해서 풀어야하는 문제.. 분명 배웠지만 기억이 나지 않는다. 함수문제가 나오면 그냥 포기하고 빈칸문제가 나올걸 대비해 코드분석만 해야겠다.
...못하겠다. 먼소린지 모르겠다.