https://school.programmers.co.kr/learn/courses/30/lessons/120843
def solution(numbers, k):
answer = 0
idx = 0
round_numbers = numbers * k
for i in range(1, k + 1):
answer = round_numbers[idx]
idx += 2
return answer
k
번째로 던졌을 때 받는 사람이라고 착각해서 idx = 2
로 초기화, 하지만 문제가 던지는 사람을 물어봤으니 0
으로 초기화 후에 반복을 수행했다.def solution(numbers, k):
return numbers[2 * (k - 1) % len(numbers)]
1
번째부터 시작하여 2
씩 전달하는 규칙이니 2 * k
이지만, 던지는 사람이므로 2 * (k - 1)
로 인덱스를 맞추어야한다.numbers
리스트가 순환하는 구조로 설계해야하니 %
를 통해 리스트의 크기를 넘지 않도록 자동으로 순환되게 만들었다.피드백은 언제나 환영입니다 :)