Study/알고리즘
[백준] 1138번_한줄로서기
혤리
2020. 2. 19. 15:04
문제 링크 : https://www.acmicpc.net/problem/1138
1138번: 한 줄로 서기
첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 크거나 같고, N-i보다 작거나 같다.
www.acmicpc.net
N = int(input())
height = list(map(int,input().split()))
ans = [N]
for i in range(N-2,-1,-1):
if height[i] == 0:
ans.insert(0,i+1)
elif len(ans)==height[i]:
ans.append(i+1)
else:
ans.insert(height[i],i+1)
print(*ans)
키 큰 사람부터 ans(답으로 출력될 배열)에 넣어주면 쉽게 풀리는 문제였다.