''.join(리스트)
매개변수로 들어온 ['a', 'b', 'c']
이런 식의 리스트를 abc
의 문자열로 합쳐서 반환한다.
'구분자'.join(리스트)
리스트의 값과 값 사이에 '구분자'에 들어온 구분자를 넣어서 하나의 문자열로 합친다.
'/'.join(['a', 'b', 'c'])
라 하면 a/b/c
와 같은 형태로 문자열을 만들어서 반환한다.
🚫 주의할 점
리스트 안에 정수형이 있다면 정수형을 문자로 바꾸어야 join을 사용할 수 있다.
예) lst = ['1', '2', '3']
일 때 ', '.join(lst) = 1, 2, 3
이 된다. 물론 이때의 1, 2, 3
은 문자이다.
import sys
from collections import deque
n, k = map(int, sys.stdin.readline().split())
n_list = deque()
for i in range(n):
n_list.append(i+1)
s = []
while len(n_list) != 0:
for i in range(1, k+1):
if i == k:
s.append(str(n_list.popleft()))
else:
n_list.append(n_list.popleft())
print('<', end='')
str = ', '.join(s)
print(str, end='')
print('>')
n명이 원형으로 도는 거니까 deque 사용하면 수월하게 풀리는 듯..?
마지막에 join 함수에서 int형 안 먹혀서 조금 헤맸다
근데 리스트 안에 int형 전부 문자로 바꾸니까 된다!!
join은 문자로 구성된 리스트만 가능하다는 걸 알았당