- 그리디 알고리즘
각 단계에서 가장 최선의 선택을 하는 방법
탐욕 알고리즘을 적용시키려면 두가지 조건을 만족해야 한다.
1-앞의 선택이 이후의 선택에 영향을 주지 않아야 한다.
2-문제의 최적해가 부분 문제에 대해서도 최적해여야 한다.
<문제 설명>
사람들은 자기보다 큰 사람이 왼쪽에 몇 명 있었는지만을 기억한다. N명의 사람이 있고, 사람들의 키는 1부터 N까지 모두 다르다.
각 사람들이 기억하는 정보가 주어질 때, 줄을 어떻게 서야 하는지 출력하는 프로그램을 작성하시오.
<코드>
n=int(input())
list=list(map(int, input().split()))
ans=[0]*n
for j in range(1, n+1):
t=list[j-1]
cnt=0
for i in range(n):
if cnt==t and ans[i]==0:
ans[i]=j
break
elif ans[i]==0:
cnt+=1
print(*ans)