Notice
Recent Posts
Recent Comments
Link
ยซ   2024/09   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

BUILD_SSO

Greedy: ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ณธ๋ฌธ

Problem Solving/Algorithm

Greedy: ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜

sohyeonnn 2023. 3. 18. 15:26

๐Ÿ”ตํƒ์š•๋ฒ•

#1
ํ˜„์žฌ ์ƒํ™ฉ์—์„œ ์ง€๊ธˆ ๋‹น์žฅ ์ข‹์€ ๊ฒƒ๋งŒ ๊ณ ๋ฅด๋Š” ๋ฐฉ๋ฒ•
- ์ •๋‹น์„ฑ ๋ถ„์„์ด ์ค‘์š”
=> ๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” ์ตœ์ ์˜ ํ•ด๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

#2
- ๋‚ด ์ƒํ™ฉ์—์„œ ๊ฐ€์žฅ ํฐ๊ฐ’์„ ๊ณ ๋ฅด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

#3
- ์ผ๋ฐ˜์ ์ธ ์ƒํ™ฉ์—์„œ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ตœ์ ์˜ ํ•ด๋ฅผ ๋ณด์žฅํ•  ์ˆ˜ ์—†์„ ๋•Œ๊ฐ€ ๋งŽ๋‹ค.
- ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ๋Š” ๊ทธ๋ฆฌ๋””์•Œ๊ณ ๋ฆฌ์ฆ˜, ํƒ์š•๋ฒ•์œผ๋กœ ์–ป์€ ํ•ด๊ฐ€ ์ตœ์ ์˜ ํ•ด๊ฐ€ ๋˜๋Š” ์ƒํ™ฉ์—์„œ ์ถœ์ œํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.


๊ฑฐ์Šค๋ฆ„๋ˆ

n = int(input())    #1260์› ์ผ ๋•Œ
count = 0

array = [500, 100, 50, 10]

for i in array:     #ํ™”ํ์˜ ์ข…๋ฅ˜๋งŒํผ for๋ฌธ์ด ๋ฐ˜๋ณต๋œ๋‹ค.
    count += n // i     #1. 500์›์œผ๋กœ 2๋ฒˆ๋งŒํผ ๊ฑฐ์Šฌ๋Ÿฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.
    n %= i              #1. ๋‚˜๋ˆ„์–ด์„œ 260์„ ๋‚จ๊ธด๋‹ค.

print(count)



๋ชจํ—˜๊ฐ€ ๊ธธ๋“œ

ํ’€์ด๊ณผ์ •
1. ์ž…๋ ฅ๋ฐ›์€ ๋ชจํ—˜๊ฐ€์˜๊ณตํฌ๋„๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค.
2. ์•ž์—์„œ๋ถ€ํ„ฐ ๊ณตํฌ๋„๋ฅผ ํ™•์ธํ•˜๋ฉฐ ํ˜„์žฌ ๊ทธ๋ฃน์— ํฌํ•จ๋œ ๋ชจํ—˜๊ฐ€์˜ ์ˆ˜๊ฐ€ ํ˜„์žฌ ํ™•์ธํ•˜๊ณ ์žˆ๋Š” ๊ณตํฌ๋„
๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋ฉด ์ด๋ฅผ ๊ทธ๋ฃน์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋œ๋‹ค.
3. ๊ณตํฌ๋„๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด์žˆ์–ด์„œ ํ•ญ์ƒ ์ตœ์†Œํ•œ์˜ ๋ชจํ—˜๊ฐ€์˜ ์ˆ˜๋งŒ ํฌํ•จํ•ด์„œ ๊ทธ๋ฃน์„ ๊ฒฐ์„ฑํ•œ๋‹ค.

import sys

n = int(sys.stdin.readline().rstrip())      #๋ชจํ—˜๊ฐ€ ์ˆ˜

x = list(map(int, input().split()))        #๋ชจํ—˜๊ฐ€์˜ ๊ณตํฌ๋„
x.sort()    #์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ

result = 0  #์ด ๊ทธ๋ฃน์˜ ์ˆ˜
count = 0   #ํ˜„์žฌ ๊ทธ๋ฃน์— ํฌํ•จ๋œ ๋ชจํ—˜๊ฐ€์˜ ์ˆ˜

for i in x:     #์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๊ณตํฌ๋„๋ฅผ ๋‚ฎ์€ ๊ฒƒ ๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ํ™•์ธ
    count += 1      #ํ˜„์žฌ ๊ทธ๋ฃน์— ํ•ด๋‹น ๋ชจํ—˜๊ฐ€๋ฅผ ํฌํ•จ์‹œํ‚จ๋‹ค.
    if count >= i:      #ํ˜„์žฌ ๊ทธ๋ฃน์— ํฌํ•จ๋œ ๋ชจํ—˜๊ฐ€์˜ ์ˆ˜๊ฐ€ ํ˜„์žฌ์˜ ๊ณตํฌ๋„ ์ด์ƒ์ด๋ผ๋ฉด, ๊ทธ๋ฃน ๊ฒฐ์„ฑ
        result += 1     #์ด ๊ทธ๋ฃน์˜ ์ˆ˜ ์ฆ๊ฐ€
        count = 0       #ํ˜„์žฌ ๊ทธ๋ฃน์— ํฌํ•จ๋œ ๋ชจํ—˜๊ฐ€์˜ ์ˆ˜ ์ดˆ๊ธฐํ™”

print(result)

 

*์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค 2021 ์œ ํŠœ๋ธŒ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

Comments