본문 바로가기
코딩테스트/파이썬

[백준/1138/파이썬(Python)] 한 줄로 서기 (구현)

by JI NY 2023. 3. 14.

[백준/1138/파이썬(Python)] 한 줄로 서기 (구현)

1138번: 한 줄로 서기 (acmicpc.net)


코드

from sys import stdin,setrecursionlimit
input = stdin.readline

N = int(input()) # 사람의 수
N_list = list(map(int,input().split())) # 왼쪽에 키 큰사람 
cm = list(range(1,N+1)) # 1, 2, 3, 4 키순
result = []

j = -1
for i in range(N):
    result.insert(N_list[j], cm[j])
    j -=1

for i in result:
    print(i , end = ' ')

풀이

  • 이 문제를 풀이해보면 2 1 1 0 예시의 경우
  • 자기보다 키가 큰 사람 이왼쪽에 몇명 있는가? [2 1 1 0]
  •                    키가 1인 사람부터 차례대로 있음 :[1 2 3 4] 이렇게 볼 수 있다.

 

  • 그러면, 키가 큰 사람부터 역순으로 (4->3->2->1) 입력 (0 ->1-> 1->2) 인덱스로 결과 []에 넣어준다.
  • list.insert(넣을 인덱스, 넣을 값) 함수를 이용하여 넣으면 된다.

결과

댓글