Algorithm Problem/Python

[python] ๋ฐฑ์ค€ - 2512. ์˜ˆ์‚ฐ

deo2kim 2020. 10. 26. 08:28
๋ฐ˜์‘ํ˜•

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

  • S3 | ์ด๋ถ„ํƒ์ƒ‰

์ด๋ถ„ ํƒ์ƒ‰์˜ ๊ธฐ๋ณธ๋ฌธ์ œ

์ด๋ถ„ํƒ์ƒ‰์ด๋ž€? ํƒ์ƒ‰ ๋ถ€๋ถ„์„ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋ถ„ํ• ํ•ด์„œ ๋‹ต์„ ์ฐพ๋Š” ๊ณผ์ •์ด๋‹ค.

 

1๋ถ€ํ„ฐ 10๊นŒ์ง€ ๊ฐ’์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ 7์ด๋ž€ ๊ฐ’์„ ์ฐพ์•„๋ณด์ž

์ตœ์†Œ๋Š” 1์ด๊ณ  ์ตœ๋Œ€๋Š” 10์ด๋‹ค. ์ ˆ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ„๋ฉด 5์ธ๋ฐ

์šด์ด ์ข‹์•„์„œ 5๊ฐ€ ๋งž์œผ๋ฉด ์ •๋‹ต, ํ•˜์ง€๋งŒ ์ฐพ๋Š” ๊ฐ’์€ 7์ด๋ฏ€๋กœ ์ •๋‹ต์ด ์•„๋‹ˆ๋‹ค

 

ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•ด์„œ ์ฐพ๋Š” ๊ฐ’์ด 5๋ณด๋‹ค ์ž‘์œผ๋ฉด ์ตœ๋Œ€๋ฅผ ์ค„์ด๊ณ ,

์ฐพ๋Š” ๊ฐ’์ด 5๋ณด๋‹ค ํฌ๋ฉด ์ตœ์†Œ๋ฅผ ๋Š˜๋ฆฐ๋‹ค.

 

์ฐพ๋Š” ๊ฐ’์ด 5๋ณด๋‹ค ํฌ๋ฏ€๋กœ ์ตœ์†Œ๋ฅผ ๋Š˜๋ฆฐ๋‹ค.

์ตœ์†Œ๋Š” ์ ˆ๋ฐ˜+1 ์ตœ๋Œ€๋Š” ๊ทธ๋Œ€๋กœ 10์ด๋‹ค. ์ ˆ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ„๋ฉด 8

 

์ฐพ๋Š” ๊ฐ’์€ 8๋ณด๋‹ค ์ž‘์œผ๋ฏ€๋กœ ์ตœ๋Œ€๋ฅผ ์ค„์ธ๋‹ค.

์ตœ์†Œ๋Š” 6 ์ตœ๋Œ€๋Š” ์ ˆ๋ฐ˜-1์ด๋‹ค. ์ ˆ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ„๋ฉด 6

 

์ฐพ๋Š” ๊ฐ’์ด 6๋ณด๋‹ค ํฌ๋ฏ€๋กœ ์ตœ์†Œ๋ฅผ ๋Š˜๋ฆฐ๋‹ค.

์ตœ์†Œ๋Š” ์ ˆ๋ฐ˜+1 ์ตœ๋Œ€๋Š” 7์ด๋‹ค. ์ ˆ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ„๋ฉด 7์ด๋ฏ€๋กœ ์ •๋‹ต!

 

4๋ฒˆ๋งŒ์— ์ •๋‹ต์„ ์ฐพ์•˜๋‹ค. for๋ฌธ์œผ๋กœ ๋Œ๋ฉด 7๋ฒˆ๋งŒ์— ์ฐพ์„๊ฒƒ์ด๋‹ค.

๋งŒ์•ฝ ๊ฐ’์ด ์–ด๋งˆ๋ฌด์‹œํ•˜๊ฒŒ ์ปค์ง„๋‹ค๋ฉด ํšจ์œจ๋ฉด์—์„œ ๋งค์šฐ ํฐ ์ฐจ์ด๊ฐ€ ๋‚  ๊ฒƒ์ด๋‹ค.

์šฐํˆฌ๋ฆฌ๋‹˜ ๋ธ”๋กœ๊ทธ - https://wootool.tistory.com/62

 

 

๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ

N = int(input())
budgets = list(map(int, input().split()))
M = int(input())

left = 0
right = max(budgets)
result = 0
while right >= left:
    mid = (left + right) // 2
    answer = 0
    for budget in budgets:
        if budget > mid:
            answer += mid
        else:
            answer += budget

    # answer: ๋‚ด๊ฐ€ ์ฑ…์ •ํ•œ ์ด ์˜ˆ์‚ฐ, M: ์ตœ๋Œ€ ์˜ˆ์‚ฐ
    if answer > M:
        right = mid - 1
    else:
        left = mid + 1
        result = max(result, answer)
print(right)

 

๐Ÿ“•๋ฌธ์ œ ํ™•์ธ

์ถœ์ฒ˜: BACKJOON ONLINE JUDGE

๋งํฌ: https://www.acmicpc.net/problem/2512

 

2512๋ฒˆ: ์˜ˆ์‚ฐ

์ฒซ์งธ ์ค„์—๋Š” ์ง€๋ฐฉ์˜ ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋Š” ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 3 ์ด์ƒ 10,000 ์ดํ•˜์ด๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” ๊ฐ ์ง€๋ฐฉ์˜ ์˜ˆ์‚ฐ์š”์ฒญ์„ ํ‘œํ˜„ํ•˜๋Š” N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ฐ’๋“ค์€ ๋ชจ๋‘ 1 ์ด์ƒ

www.acmicpc.net

 

๋ฐ˜์‘ํ˜•