첫 번째 학생이 번호를 뽑은 후 : 1
두 번째 학생이 번호를 뽑은 후 : 2 1
세 번째 학생이 번호를 뽑은 후 : 2 3 1
네 번째 학생이 번호를 뽑은 후 : 4 2 3 1
다섯 번째 학생이 번호를 뽑은 후 : 4 2 5 3 1
따라서 최종적으로 학생들이 줄을 선 순서는 4, 2, 5, 3, 1이 된다.
줄을 선 학생들이 차례로 뽑은 번호가 주어질 때 학생들이 최종적으로 줄을 선 순서를 출력하는 프로그램을 작성하시오.
간단한 구현 문제로 리스트 자료 구조와 삽입 메서드를 활용하면 된다.
insert()메서드의 시간 복잡도가 O(N)이기 때문에 시간 초과를 염려했지만 브론즈2 난이도는 그런건 중요치 않은듯 하다...n=int(input()) out=[] # 정답 리스트 정의 # enumerate()메서드를 통해 인덱스 및 원소 값 for 문 for i,a in enumerate(list(map(int,input().split())),start=1): out.insert(i-a-1,i) #리스트에 인덱스에 삽입을 하면 자동으로 뒤의 원소들이 밀리기 때문에 insert(인덱스, 원소) 활용 print(*out)