๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด/Greedy

[์ด์ฝ”ํ…Œ] ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” ๊ธˆ์•ก

by syLim___ 2023. 3. 26.
728x90

๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ™”ํ๋ฅผ ์ž‘์€๋‹จ์œ„๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด๋ณด๋ฉฐ, ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ธˆ์•ก์„ ์ฒดํฌํ•ด๋ณด๋ฉด์„œ ๊ทœ์น™์„ ์ฐพ์œผ๋ฉด ๋œ๋‹ค.

 

๋ฌธ์ œ ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ์ฐจ๊ทผ์ฐจ๊ทผ ์ƒ๊ฐํ•ด๋ณด์ž.

 

๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ™”ํ๋Š” [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)

 

 

์†”์งํžˆ ์ดํ•ดํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ๊ฝค ๋งŽ์ด ๊ฑธ๋ ธ๋˜ ๋ฌธ์ œ์ด๋‹ค. ๋‚˜ ๋ฐ”๋ณด

728x90