언젠가는
(파이썬) 백준 1158 - 요세푸스 문제 python3 본문
a, b = map(int,input().split())
a,b에 입력값 받기
c = [i for i in range(1,a+1)]
c에 리스트 만들기 1부터 a까지
ans=[]
ans에 출력값 넣기위함
n=0
초기값 0, b-1을 인덱스값으로 정해서 찾아주기
for i in range(a):
n+=b-1
n+b-1을 해준 인덱스를 뽑아내고 있음
if n>=len(c):
n=n%len(c)
리스트의 갯수보다 크면 못꺼냄, 그럴땐 인덱스값을 초기화 해주기 위해 모자란 만큼 나머지로 계산한다.
(원형으로 둘러쌓여 있으므로, 인덱스 맨 뒤에서 다시 맨 앞으로 가기 때문)
ans.append(str(c.pop(n)))
당첨된 값을 pop해서 ans에 넣어준다. str로 변환하는 것은 나중에 출력값을 <, , , ,>로 해야하기 때문이다.
print("<",", ".join(ans),">",sep='')
ans에 담긴 값들을 출력한다. "<" 다음에 ", "는 공백이 있다.
sep=''은 "<", ">"와 처음, 마지막 값의 공백을 없앤다.
<3, 6, 2, 7, 5, 1, 4>로 출력하라고 했기 때문이다.
저것이 없으면 < 3, 6, 2, 7, 5, 1, 4 >로 출력된다.
'IT > 코딩' 카테고리의 다른 글
(파이썬) 백준 11655번 ROT13 파이썬 풀이, Python3 (0) | 2022.08.10 |
---|---|
(파이썬) 백준 10799번 쇠막대기 파이썬 python3 (0) | 2022.08.07 |
(파이썬) 백준 1406 - 에디터 python3 (0) | 2022.08.04 |
(파이썬) 백준 9012번 - 괄호() (0) | 2022.08.03 |
(파이썬) Python3 백준 1874번 - 스택 수열 (0) | 2022.08.03 |
Comments