728x90
반응형
문제: https://www.acmicpc.net/problem/1158
풀이
리스트 회전을 구현하는 법을 알면 어려운 문제는 아니였습니다.
# *** 으로 표시한 부분을 주의하여 구현하면 되는 문제입니다.
# pop 해야 할 원소를 list의 가장 마지막으로 옮기고 pop = O(1)
N, K = map(int, input().split())
arr = [i for i in range(1, N+1)]
idx = 0 # 제거될 사람의 인덱스 번호
ans = []
for i in range(N):
idx = (idx + K-1) % len(arr) # ***
ans.append(arr.pop(idx))
ans[0] = "<" + str(ans[0])
ans[-1] = str(ans[-1]) + ">"
print(*ans, sep= ', ')
728x90
'자료구조 및 알고리즘 > 백준' 카테고리의 다른 글
[python] 1918. 후위 표기식 (0) | 2024.06.12 |
---|---|
[python] 6550. 부분 문자열 ・ try-except 문 (0) | 2024.06.05 |
[python] 1912. 연속합 (0) | 2024.06.05 |
[python] 2579. 계단 오르기 (1) | 2024.06.05 |
[python] 11726. 2*n 타일링 (2) | 2024.06.04 |