alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 2161 카드1_파이썬 본문
2161 카드1 www.acmicpc.net/problem/2161
2161번: 카드1
N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가
www.acmicpc.net
문제 풀기 전 공부할 것 : 구현, 자료 구조, 시뮬레이션, 덱, 큐
풀이 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