백준 문제풀이
2022. 8. 27.
[백준][파이썬] 2164 카드 2
1.문제 분석 맨 앞 카드를 버리고 남은 카드 중 맨 앞 카드를 뒤로 옮기는 행위를 반복하는 것을 구현하는 문제 2. 기본 아이디어 deque 모듈을 사용한다. popleft함수와 rotate함수를 적절히 사용하여 문제를 푼다. 3.문제 풀이 from collections import deque n = int(input()) lst = deque([i for i in range(1, n+1)]) while(True): if(len(lst) == 1): # 만약 n이 1일 경우는 바로 값을 반환한다. print(lst[0]) break elif(len(lst) >= 1): # 그 밖의 경우는 맨 앞의 수를 제거하고 맨 앞 수를 뒤로 옮겨준다. lst.popleft() lst.rotate(-1)