한 줄로 세우기 - 실버 2 (백준, 구현)

2023. 1. 20. 14:41코딩 테스트 준비

728x90
반응형
import sys

input = sys.stdin.readline
n = int(input())
people = list(map(int, input().split()))
ans = [0] * n

for per in range(1, n+1):
    target = people[per-1]
    cnt = 0
    for i in range(n):
      if cnt == target and ans[i] == 0:
          ans[i] = per
          break
      elif ans[i] == 0:
          cnt += 1

print(*ans)

못 풀어서 참고했다..

 

간단한 풀이법으로 0으로 N의 길이만큼을 초기화한 후 리스트의 순서대로 i를 삽입한다.

 

삽입 과정으로 0을 기준으로 1씩 증가시켜 왼쪽에 있어야하는 수만큼 이동하고 해당 값에 도달하고 해당 값이 0이면 값을 입력해준다.

728x90
반응형