알고리즘 공부/백준

(Python)백준 코딩테스트 연습 - 한 줄로 서기(1138)

HRuler 2023. 3. 8. 14:33

1. 문제

https://www.acmicpc.net/problem/1138

 

1138번: 한 줄로 서기

첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다

www.acmicpc.net

2. 풀이

import sys
input = sys.stdin.readline

# n : 사람 수
n = int(input())
# n_l : 사람 별 본인 기준 왼쪽에 서있는 사람들 중 키가 큰 사람의 수를 기록한 리스트
n_l = list(map(int, input().split()))

# line_l : 줄 선 순서 키 리스트
line_l = ["" for i in range(n)]

for i_k, i in enumerate(n_l):
    t_cnt = i + 1
    cnt = 0
    for k, j in enumerate(line_l):
        if j == "":
            cnt += 1
            if cnt == t_cnt:
                line_l[k] = str(i_k + 1)
print(" ".join(line_l).strip())