사용자 도구

사이트 도구


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()

토론

댓글을 입력하세요:
A​ T U H U
 
ps/problems/boj/2161.txt · 마지막으로 수정됨: 2021/08/05 15:22 저자 teferi