백준

백준 1158번 어떻게 풀었나.

kimbro6 2023. 1. 12. 00:01
  • 푼 방법
    • i에 K를 계속 더해주는데, len(A)보단 작아야 한다는 조건을 구현하려 했다.
  • 고치면 좋을 부분
    • 처음엔, 변수 i가 len(A)보다 작아질때까지 i - len(A)를 해 줬다.
      그런데 다시 생각해 보니까 그건 % len(A)와 똑같은 작업이었다.
      이런걸 처음부터 생각해 내고 싶다.

코드 

import sys
N, K = map(int, sys.stdin.readline().rstrip().split())
A = list(i+1 for i in range(N))

i = 0
answer = []
while A:
	i = (i+K-1) % len(A)
	answer.append(A.pop(i))

print("<"+", ".join(map(str, answer))+">")

참고

https://infinitt.tistory.com/213