https://www.acmicpc.net/problem/1138
1138๋ฒ: ํ ์ค๋ก ์๊ธฐ
์ฒซ์งธ ์ค์ ์ฌ๋์ ์ N์ด ์ฃผ์ด์ง๋ค. N์ 10๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค์๋ ํค๊ฐ 1์ธ ์ฌ๋๋ถํฐ ์ฐจ๋ก๋๋ก ์๊ธฐ๋ณด๋ค ํค๊ฐ ํฐ ์ฌ๋์ด ์ผ์ชฝ์ ๋ช ๋ช ์ด ์์๋์ง ์ฃผ์ด์ง๋ค. i๋ฒ์งธ ์๋ 0๋ณด๋ค
www.acmicpc.net
์ด ๋ฌธ์ ํ ๋ ๋จธ๋ฆฌ๊ฐ ๋๊ฒ ์ ๋์๊ฐ๊ณ ์๊ทผ ์ด๋ ค์ ๋ค.
์๊ฐ์ ํ์ 2์ด๋ก ๋๋ํ๊ณ , ์ฃผ์ด์ง๋ N๋ ๋งค์ฐ๋งค์ฐ ์์ ์์ด๋ค.
์ด์คํฌ๋ฌธ ๋๋ ค์ ํ๋์ฉ ์ฒดํฌํด๋ ์ ํ ๋ฌธ์ ๋์ง ์๊ฒ ๋ค ์๊ฐํด์ ์ฐจ๊ทผ์ฐจ๊ทผ ํ์ด๋ด
์์ด๋์ด
1. ํฌ๊ธฐ๊ฐ n์ด๊ณ ์ ๋ถ -1๋ก ์ด๊ธฐํ๋์ด์๋ ๋ฆฌ์คํธ result๋ฅผ ๋ง๋ ๋ค. (-1์ ๋น์๋ฆฌ๋ผ๋ ์๋ฏธ)
2. ํ ๋ช ์ฉ ์ค์ ์ธ์ด๋ค.
2-1. result ๋ฆฌ์คํธ๋ฅผ ์ํํ๋ฉด์, ๋น์๋ฆฌ๋ฅผ ์ผ๋ค.(๋๊ตฐ๊ฐ ์์์ผ๋ฉด ์์ ๋ณด๋ค ํค๊ฐ ์์ ์ฌ๋์ด๋ฏ๋ก ์ด ์ฌ๋๋ค์ ๋นผ๊ณ ์ผ๋ค)
2-2. ๋น์๋ฆฌ ์๊ฐ ์์ ๋ณด๋ค ํฐ ์ฌ๋ ์์ ๊ฐ์์ง๋ฉด, ๋ฐ๋ก ๋ค ๋น์๋ฆฌ์ ์ธ์ด๋ค.
์ ๋ต ์ฝ๋
import sys
input = sys.stdin.readline
n = int(input())
arr=list(map(int,input().split()))
result=[-1]*n
for i in range(n):
cnt=0
for j in range(n):
if result[j]==-1:
if cnt>=arr[i]:
result[j]=i+1
break
else:
cnt+=1
for i in range(n):
print(result[i],end=' ')
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > Greedy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์ฝํ ] ๋ง๋ค ์ ์๋ ๊ธ์ก (0) | 2023.03.26 |
---|---|
[์ด์ฝํ ] ๋ณผ๋ง๊ณต ๊ณ ๋ฅด๊ธฐ (1) | 2023.03.25 |
[๋ฐฑ์ค]19941๋ฒ: ํ๋ฒ๊ฑฐ ๋ถ๋ฐฐ (0) | 2023.03.16 |
[๋ฐฑ์ค]13305๋ฒ: ์ฃผ์ ์ (0) | 2023.03.16 |
[๋ฐฑ์ค]1439๋ฒ: ๋ค์ง๊ธฐ (0) | 2023.03.01 |