이숭간 공부기록
백준 2164번 파이썬 _ 카드2 본문
728x90
문제유형 : 큐
문제풀이 : 자료구조 '큐'를 활용한 문제로 난이도는 쉬웠다.
처음에 포문으로 하다가 또 조건문써서 (한장남을때까지) break하는것보다 while문이 더깔끔한것 같아서 한번 수정함!
정답코드 :
import sys
input = sys.stdin.readline
from collections import deque
n = int(input())
card_list = deque([i for i in range(1,n+1)])
i = 1 #while문에서 for문의 증가효과를 이용하기 위한 변수
while len(card_list) != 1: # 카드 한장이 남을때까지
cur = card_list.popleft() # 큐에서 빼고
if i % 2 != 0: # 홀수번째 숫자면 그대로 진행
i += 1
continue
else: # 짝수번째면 다시 뒤로 보내기
card_list.append(cur)
i += 1
print(card_list.pop())
'알고리즘 > 백준' 카테고리의 다른 글
백준 5397번 파이썬 _ 키로거 (실버3) (0) | 2021.03.14 |
---|---|
백준 11650번 파이썬 _ 좌표 정렬 (실버5) (0) | 2021.03.13 |
백준 14916번 파이썬 _ 거스름돈 (0) | 2021.02.15 |
백준 1463번 파이썬 _ 1로 만들기 (0) | 2021.02.15 |
백준 11866번 파이썬 _ 요세푸스 문제 0 (0) | 2021.02.15 |