백준 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=' ')
반응형
'알고리즘 문제풀이' 카테고리의 다른 글
8. 백준 10610번: 30 문제풀이 (0) | 2020.05.21 |
---|---|
7. 백준 1541번: 잃어버린 괄호 (0) | 2020.05.21 |
5. 백준 2217번: 로프 문제풀이 (0) | 2020.05.20 |
4.백준 11399번: ATM 문제풀이 (0) | 2020.05.20 |
3. 백준 11047번 동전0 문제풀이 (0) | 2020.05.20 |