====== 카드1 ====== ===== 풀이 ===== * 그냥 시키는대로 구현하면 된다. * 카드들을 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() {{tag>BOJ ps:problems:boj:브론즈_2}}