카드를 버리고 뒤로 옮기는 알고리즘을 활용하여 풀면 된다
N = int(input())
card_list = [i for i in range(1, N+1)]
discarded_card = []
while len(card_list) != 1:
discarded_card.append(card_list.pop(0)) #버리기
card_list.append(card_list.pop(0)) #뒤로 옮기기
for i in discarded_card:
print(i, end = ' ')
print(card_list[0])
while len(card_list) != 1: discarded_card.append(card_list.pop(0)) #버리기 card_list.append(card_list.pop(0)) #뒤로 옮기기
- pop함수는 리스트의 맨 마지막 요소를 돌려주고 그 요소는 삭제하는 함수!
-> 이 문제에서 카드를 뒤로 옮기는 과정에서 사용된다