alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 2161 카드1_파이썬 본문
2161 카드1 www.acmicpc.net/problem/2161
문제 풀기 전 공부할 것 : 구현, 자료 구조, 시뮬레이션, 덱, 큐
풀이 1
<내용>
- while문으로 cards에 카드가 남을 때까지 카드를 버리고, 제일 아래로 옮기는 작업을 반복한다.
<코드>
from collections import deque
n = int(input())
cards = deque(list(range(1, n+1)))
res = []
while cards:
card = cards.popleft()
res.append(card)
if cards:
card = cards.popleft()
cards.append(card)
print(*res)
풀이 2
<내용>
- deque 사용하지 않고 해결하기
<코드>
n = int(input())
cards = list(range(1, n+1))
res = []
while len(cards) > 1:
res.append(cards[0])
cards = cards[2:] + [cards[1]]
res.append(cards[0])
print(*res)
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 15903 카드 합체 놀이_파이썬 (0) | 2020.11.22 |
---|---|
[알고리즘][Python] 백준(BOJ) 1269 대칭 차집합_파이썬 (0) | 2020.11.21 |
[알고리즘][Python] 백준(BOJ) 1439 뒤집기_파이썬 (0) | 2020.11.19 |
[알고리즘][Python] 백준(BOJ) 15904 UCPC는 무엇의 약자일까?_파이썬 (0) | 2020.11.18 |
[알고리즘][Python] 백준(BOJ) 2810 컵홀더_파이썬 (0) | 2020.11.17 |
Comments