알고리즘 문제풀이
6. 백준 1138번: 한 줄로 서기
coding of lks
2020. 5. 20. 22:15
백준 1138번: 한 줄로 서기 (https://www.acmicpc.net/problem/1138)
풀이
키 순서대로 세우고 모든 사람에 대해 왼쪽부터 하나씩 살펴보며 자신의 자리를 찾아가면 되는 문제 입니다.
1. 배열을 한개 더 만든다.
2. 입력받은 값(L1)을 이용해 새로운 배열(L2)의 요소들에 순서대로 접근해서 위치를 찾아간다.
-1) L2의 요소가 0인 경우와 아닌 경우
-2) L1의 값이 0인 경우와 아닌 경우 의 조건을 사용해 위치를 찾을 수 있다.
n = int(input())
L1 = list(map(int, input().split()))
L2 = [0 for i in range(n)]
for i in range(n):
count = 0
for j in range(n):
if L1[i] == 0 and L2[j] == 0 :
L2[count] = i + 1
break
elif L2[j] != 0:
count += 1
elif L2[j] == 0 and L1[i] >= 0:
count += 1
L1[i] -= 1
for i in range(0,n):
print(L2[i], end=' ')
반응형