풀이
- 역순으로 생각해야 풀 수 있는 문제라고 생각했기에
- 카드 배열을 reverse() 한 다음
- result 라는 배열을 계속 한 칸씩 밀어낼 수 있도록 하기 위해 deque를 사용
- 이후 카드 배열을 하나씩 추가한 다음
- cnt에 맞게 rotate를 통해 뒤에서 앞으로 한 칸씩 밀어내어 해결
from collections import deque
n = int(input())
cnt = n
li = [i for i in range(1,n+1)]
li.reverse()
result = deque([])
for i in li:
result.appendleft(i)
for _ in range(cnt): result.rotate(1)
cnt -= 1
print(*result)
'알고리즘' 카테고리의 다른 글
[백준, 파이썬, 1544번] 사이클 단어 (0) | 2024.02.15 |
---|---|
[백준, 파이썬, 3023번] 마술사 이민혁 (1) | 2024.02.15 |
[백준, 파이썬, 4583번] 거울상 (1) | 2024.02.14 |
[백준, 자바, 1384번] 메시지 (0) | 2024.02.13 |
[백준, 파이썬, 1384번] 메시지 (1) | 2024.02.13 |