[백준] 회전하는 큐 1021 (파이썬)
문제 풀이 # 예제2 해석 # 1번 연산: 앞에 있는 것 빼기 (data.popleft()) # 2번 연산: 왼쪽으로 밀기 (data.append(data.popleft())) # 3번 연산: 오른쪽으로 밀기 (data.appendleft(data.pop())) n,m = 10, 3 value = [2,9,5] # 뽑아 내려는 수가 2 9 5 일 때 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 2 수행 후 2, 3, 4, 5, 6, 7, 8, 9, 10, 1 # 1 수행 후 3, 4, 5, 6, 7, 8, 9, 10, 1 # 3, 3, 3 수행 후 9, 10, 1, 3, 4, 5, 6, 7, 8 # 1 시행 후 10, 1, 3, 4, 5, 6, 7, 8 # 2,2,2,2 or 3,3,3,..
2021. 3. 10.
[백준] [재귀 분석 추가] 하노이의 탑 이동 순서 1759 (파이썬)
def hanoi(n, a, b): n > 1: hanoi(n-1, a, 6-a-b) # 기둥이 1개 이상이면 그룹으로 묶인 n-1개 원판을 중간으로 먼저 다 옮기겠다 1, 2, 3이기 때문에 중간은 1,3을 뺀 값 print(a,b) # n번 째 기둥이 a -> b 로 옮겨짐 n > 1: # 기둥이 한개 이상이면 남은 기둥 (n-1)개를 중간에서 b로 옮기겠다. hanoi(n-1, 6-a-b, b) n = int(input()) print(2 ** n-1) # 총 이동해야하는 횟수 hanoi(n, 1, 3) # 3개 원판을 기둥 1에서 3으로 옮기겠다 재귀함수 개념 2021.03.08 - [Algorithm & Data structure] - 재귀 함수 재귀 함수 재귀 함수(Recursive Funct..
2021. 3. 8.