풀이 1) list 사용
N, K = map(int, input().split())
people = [i for i in range(1, N+1)]
print("<", end="")
remove_people = K-1
cnt = 0
while(cnt < N):
cnt += 1
K_cnt = 0
while(K_cnt < K-1):
people.append(people[0])
people.pop(0)
K_cnt += 1
if cnt >= N:
print(str(people.pop(0)), end="")
else:
print(str(people.pop(0))+", ", end="")
print(">")
풀이 2) deque 라이브러리 사용
from collections import deque
N, K = map(int, input().split())
people = deque([i for i in range(1, N+1)])
cnt = 0
print("<", end="")
while(people):
cnt += 1
for i in range(K-1):
people.append(people.popleft())
if cnt == N:
print(str(people.popleft()), end="")
else:
print(str(people.popleft())+", ", end="")
print(">")
'👩🏻💻 Front-end > 👾 Algorithm' 카테고리의 다른 글
백준 1475 - 방 번호 (Python) (0) | 2022.05.30 |
---|---|
백준 2108 - 통계학 (Python) (0) | 2022.05.28 |
백준 1966 - 프린터 큐 (Python) (0) | 2022.05.25 |
프로그래머스 - 신고 결과 받기 (Python) (2022 KAKAO BLIND RECRUITMENT) (0) | 2022.05.22 |
백준 1316 - 그룹 단어 체커 (Python) (0) | 2022.05.21 |