-
[백준] 1138번_한줄로서기Study/알고리즘 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(답으로 출력될 배열)에 넣어주면 쉽게 풀리는 문제였다.
'Study > 알고리즘' 카테고리의 다른 글
[백준] 11724번_연결요소의개수 (0) 2020.02.20 [백준] 1260번_DFS와BFS (0) 2020.02.20 [백준] 14500번_테트로미노 (0) 2020.02.15 [백준] 1476번_날짜계산 (0) 2020.02.15 [백준] 2309번_일곱난쟁이 (0) 2020.02.15