๊ฐ์ง๊ณ ์๋ ํํ๋ฅผ ์์๋จ์๋ถํฐ ํ๋์ฉ ๊บผ๋ด๋ณด๋ฉฐ, ๋ง๋ค ์ ์๋ ๊ธ์ก์ ์ฒดํฌํด๋ณด๋ฉด์ ๊ท์น์ ์ฐพ์ผ๋ฉด ๋๋ค.
๋ฌธ์ ์์๋ฅผ ํตํด ์ฐจ๊ทผ์ฐจ๊ทผ ์๊ฐํด๋ณด์.
๊ฐ์ง๊ณ ์๋ ํํ๋ [1a, 1b, 2, 3, 9]์ด๋ค. (1์์ด 2๊ฐ๋ผ์ ํท๊ฐ๋ฆฌ๋๊น ํธ์์ 1a, 1b๋ผ๊ณ ๋ถ๋ฅด๊ฒ ๋ค.)
๐ฐ 1a์์ ๊บผ๋ด๊ณ , ๋ง๋ค ์ ์๋ ๊ธ์ก ์ฒดํฌ
์ง๊ธ๊น์ง ๋ง๋ค์ด๋ ๊ธ์ก: 0์
1a์์ ๊บผ๋์ผ๋ก์จ ๋ง๋ค ์ ์๊ฒ ๋ ๊ธ์ก: 1์
๐ฐ 1b์์ ๊บผ๋ด๊ณ , ๋ง๋ค ์ ์๋ ๊ธ์ก ์ฒดํฌ
์ง๊ธ๊น์ง ๋ง๋ค์ด๋ ๊ธ์ก: 1์
1b์์ ๊บผ๋์ผ๋ก์จ ๋ง๋ค ์ ์๊ฒ ๋ ๊ธ์ก: 1b=1์, 1+1b=2์
๐ฐ 2์์ ๊บผ๋ด๊ณ , ๋ง๋ค ์ ์๋ ๊ธ์ก ์ฒดํฌ
์ง๊ธ๊น์ง ๋ง๋ค์ด๋ ๊ธ์ก: 1์, 2์
2์์ ๊บผ๋์ผ๋ก์จ ๋ง๋ค ์ ์๊ฒ ๋ ๊ธ์ก: 2=2์, 1+2=3์, 2+2=4์
๐ฐ 3์์ ๊บผ๋ด๊ณ , ๋ง๋ค ์ ์๋ ๊ธ์ก ์ฒดํฌ
์ง๊ธ๊น์ง ๋ง๋ค์ด๋ ๊ธ์ก: 1์, 2์, 3์, 4์
3์์ ๊บผ๋์ผ๋ก์จ ๋ง๋ค ์ ์๊ฒ ๋ ๊ธ์ก: 3=3์, 1+3=4์, 2+3=5์, 3+3=6์, 3+4=7์
๐ก ์ด์ฏค ์ ์ด๋ณด๋, ๊ท์น์ด ๋ณด์ด๊ธฐ ์์ํ๋ค.
- ํ์ฌ ๋ง๋ค์ด๋ ๊ธ์ก ์ค ์ต๋๊ฐ์ 7์์ด๋ค.
- ์ด ์ํ์์ n์์ง๋ฆฌ ๋์ ํ๋๋ฅผ ์๋ก ๊บผ๋ด๋ฉด, n ~ n+7์๊น์ง์ ๋์ ๋ชจ๋ ๋ง๋ค ์ ์๊ฒ ๋๋ค.
- ์ฆ, n์์ง๋ฆฌ ๋์ ํ๋๋ฅผ ๊บผ๋ด๊ณ ๋๋ฉด 1~7, n~n+7์์ ๋ง๋ค ์ ์๊ฒ ๋๋ค.
- n์ด 8๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค๋ฉด, ์ฐ๋ฆฌ๋ 1 ~ 14์๊น์ง ๋ชจ๋ ๋ง๋ค ์ ์๊ฒ ๋๋ค.
โ ๊ทธ๋ฐ๋ฐ, n์ด 8๋ณด๋ค ํฐ ์๋ผ๋ฉด ์ด๋จ๊น? ์๋ฅผ ๋ค์ด n์ ๊ฐ์ด 9๋ผ๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
๐ฐ 9์์ ๊บผ๋ด๊ณ , ๋ง๋ค ์ ์๋ ๊ธ์ก ์ฒดํฌ
์ง๊ธ๊น์ง ๋ง๋ ๊ธ์ก: 1์ ~ 7์
9์์ ๊บผ๋์ผ๋ก์จ ๋ง๋ค ์ ์๊ฒ ๋ ๊ธ์ก: 9์ ~ 16์
- ์ด๋ ๊ฒ ๋๋ฉด 8์์ ๋ง๋ค ์ ์๊ฒ ๋๋ค.
- ๋ฐ๋ผ์ ์ ๋ต์ 8์ด๋ค.
์ด์ ์ฝ๋๋ฅผ ์ง๋ณด์.
1. ๋์ ์ ์์ ๋จ์๋ถํฐ ํ๋์ฉ ๊บผ๋ด๋ฉฐ, target์ ์๋์ ๊ฐ์ด ๊ฐฑ์ ํด์ค๋ค.
target = ํ์ฌ ๋์ ์ ๊บผ๋ด์ ๋ง๋ค ์ ์๋ ๊ธ์ก์ ์ต๋๊ฐ + 1
2. ์๋ก ๊บผ๋ธ ๋์ ์ด target๋ณด๋ค ํฌ๋ค๋ฉด target์ ๋ง๋ค ์ ์๋ค. --> ์ ๋ต
n = int(input())
coins = list(map(int,input().split()))
coins.sort()
target = 1
for i in coins:
if i > target:
break
target += i
print(target)
์์งํ ์ดํดํ๋๋ฐ ์๊ฐ์ด ๊ฝค ๋ง์ด ๊ฑธ๋ ธ๋ ๋ฌธ์ ์ด๋ค. ๋ ๋ฐ๋ณด
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > Greedy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค]์ฒด์ก๋ณต (0) | 2023.05.24 |
---|---|
[๋ฐฑ์ค]2839๋ฒ: ์คํ ๋ฐฐ๋ฌ (0) | 2023.05.06 |
[์ด์ฝํ ] ๋ณผ๋ง๊ณต ๊ณ ๋ฅด๊ธฐ (1) | 2023.03.25 |
[๋ฐฑ์ค]1138๋ฒ: ํ ์ค๋ก ์๊ธฐ (0) | 2023.03.18 |
[๋ฐฑ์ค]19941๋ฒ: ํ๋ฒ๊ฑฐ ๋ถ๋ฐฐ (0) | 2023.03.16 |