알고리즘/백준

[BaekJoon] 백준 11866번 _ 요세푸스 문제 0.Python

정석이 2022. 4. 15. 22:55

https://www.acmicpc.net/problem/11866

 

11866번: 요세푸스 문제 0

첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)

www.acmicpc.net

 

 

 

 

 


 

 

n,k = map(int, input().split())

people = [i for i in range(1, n + 1)]
answer = []

while len(people) != 0:
    for _ in range(k-1):
        people.append(people[0])
        people.pop(0)
        
    answer.append(people.pop(0))
    
print('<', end='')
print(', '.join(map(str, answer)), end='')
print('>')


# print('<{0}>'.format(', '.join(map(str, answer)))) # 이거 왜 안될까

 

 

이렇게 풀었다.

 

맨 앞에꺼 맨 뒤에 붙이고 pop해줌.

 

 

그러고보니 그냥 people.append(people.pop(0)) 이렇게 한줄만 했어도 되네.. 암튼

 

 

출력할 때 저거..<> 안에 넣는게 은근히 어려웠닼ㅋㅋㅋㅋ 저렇게 노가다?처럼 안보이게 짜려고 format 사용한건데

 

 

컴파일 에러남. 왜지

 

 

 

 

 

 


 

다른 사람 풀이

 

 

 

 

아 그냥 print할 때 +로 하면 띄어쓰기 안생기는구나 하하!!!!

 

 

while people:

이렇게 해놓고 people list 개수를 줄여나가다가 0이 되면 끝나는구낭 오우

 

 

그리고 저렇게 하면 i = 없앨 인덱스 인 계산이구나~~^^ 음 그래