번호표 교환을 마친 각 학생들이 가진 번호표를 순서대로 출력하는 함수 구현하기
교실에는 N명의 학생들이 한 줄로 서 있다. 각 학생들은 번호표를 하나씩 가지고 있다. i번째 학생의 번호표에 적힌 수는 Ai이다.
그리고 M개의 카드가 있다. 이 카드는 1부터 M까지의 값을 가진다. 각 카드는 반드시 1부터 사용하며, k (2 ≤ k ≤ M) 번 카드는 k-1번 카드를 쓴 다음에 쓴다.
게임의 규칙은 다음과 같다.
이 과정을 모두 마친 후의 각 학생들이 가진 번호표를 순서대로 출력하는 프로그램을 작성하시오.
입력 | 출력 |
6 4 3 2 8 3 1 5 | 2 3 1 8 5 3 |
10 6 1 2 3 4 5 6 7 8 9 10 | 6 1 2 3 10 4 8 7 9 5 |
input()
으로 받은 입력은 문자열이므로 int형으로 변환한다.
input()
으로 입력 받은 번호표의 값을 저장한다.
print()
로 순서대로 출력한다.
N, M = map(int, input().split(' '))
num_tickets = []
for i in range(N):
num_tickets.append(int(input()))
for i in range(1, M+1):
for index in range(1, len(num_tickets)):
if num_tickets[index-1] % i > num_tickets[index] % i:
num_tickets[index-1], num_tickets[index] = num_tickets[index], number_tickets[index-1]
for ticket in number_tickets:
print(ticket)