ps:problems:boj:2161
카드1
ps | |
---|---|
링크 | acmicpc.net/… |
출처 | BOJ |
문제 번호 | 2161 |
문제명 | 카드1 |
레벨 | 브론즈 2 |
분류 |
기초 |
시간복잡도 | O(n) |
인풋사이즈 | n<=1000 |
사용한 언어 | Python |
제출기록 | 31780KB / 104ms |
최고기록 | 52ms |
해결날짜 | 2021/08/05 |
풀이
- 그냥 시키는대로 구현하면 된다.
- 카드들을 deque로 저장하면, 맨 위의 카드를 버리는 것과, 맨 위의 카드를 맨 아래로 옮기는 것을 둘 다 O(1)에 할수 있다. 따라서 전체 시간복잡도는 O(n)
코드
"""Solution code for "BOJ 2161. 카드1".
- Problem link: https://www.acmicpc.net/problem/2161
- Solution link: http://www.teferi.net/ps/problems/boj/2161
"""
import collections
def main():
N = int(input())
deq = collections.deque(range(1, N + 1))
discarded_cards = []
while deq:
discarded_cards.append(deq.popleft())
deq.rotate(-1)
print(*discarded_cards)
if __name__ == '__main__':
main()
ps/problems/boj/2161.txt · 마지막으로 수정됨: 2021/08/05 15:22 저자 teferi
토론