deo2kim
๋งž์™œํ‹€
deo2kim
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • CS
      • Algorithm
      • Data Structure
      • Network
      • DB
      • OS
    • Algorithm Problem
      • Python
      • JavaScript
    • Programming language
      • Python
      • JavaScript
    • Tool
      • Jquery
      • React
    • ๊ฐœ๋ฐœ
    • Infra

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

๋ฐ˜์‘ํ˜•
hELLO ยท Designed By ์ •์ƒ์šฐ.
deo2kim
Algorithm Problem/Python

[python] ๋ฐฑ์ค€ - 2110. ๊ณต์œ ๊ธฐ ์„ค์น˜

[python] ๋ฐฑ์ค€ - 2110.  ๊ณต์œ ๊ธฐ ์„ค์น˜
Algorithm Problem/Python

[python] ๋ฐฑ์ค€ - 2110. ๊ณต์œ ๊ธฐ ์„ค์น˜

2020. 10. 16. 08:03
๋ฐ˜์‘ํ˜•

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

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

ํŠน์ • ๋ฒ”์œ„ ์•ˆ์—์„œ ๊ฐœ์ˆ˜๋ฅผ ์ •ํ•œ๋‹ค? => ์ด๋ถ„ ํƒ์ƒ‰

  • ๊ณต์œ ๊ธฐ๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ๊ฐ„๊ฒฉ๊ณผ ์ตœ๋Œ€๊ฐ„๊ฒฉ์˜ ์ค‘๊ฐ„๊ฐ’๋ถ€ํ„ฐ ์‹œ์ž‘
  • ์ค‘๊ฐ„๊ฐ’(๊ณต์œ ๊ธฐ ์„ค์น˜ ๊ฐ„๊ฒฉ)์œผ๋กœ ๊ณต์œ ๊ธฐ๋ฅผ ์„ค์น˜ ํ–ˆ์„ ๋•Œ
    • ์„ค์น˜ํ•œ ๊ณต์œ ๊ธฐ๊ฐ€ ๋ถ€์กฑํ•˜๋ฉด ์„ค์น˜ ๊ฐ„๊ฒฉ์„ ์ขํ˜€์„œ ๋” ๋งŽ์ด ์„ค์น˜ํ•˜์ž
    • ์„ค์น˜ํ•œ ๊ณต์œ ๊ธฐ๊ฐ€ ๋งŽ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ์„ค์น˜ํ•œ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ ค์„œ ๋œ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์ตœ๋Œ€๋กœ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ ค๋ณด์ž

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

import sys

N, C = map(int, input().split())
house = [int(sys.stdin.readline()) for _ in range(N)]

# ์ •๋ ฌ
house.sort()

# ์™€์ดํŒŒ์ด ๊ฐ„๊ฒฉ์„ ์–ผ๋งˆ๋‚˜ ํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅด๋‹ˆ ์ตœ๋Œ€๊ฑฐ๋ฆฌ์™€ ์ตœ์†Œ๊ฑฐ๋ฆฌ์˜ ์ค‘๊ฐ„๋ถ€ํ„ฐ ์‹œ์ž‘
left = 1
right = house[-1] - house[0]
answer = 0
while right >= left:
    # ์ค‘๊ฐ„๊ฐ’ (์™€์ดํŒŒ์ด ๊ฐ„๊ฒฉ)
    mid = (right + left) // 2

    # ์™€์ดํŒŒ์ด ์„ค์น˜ # ์ฒ˜์Œ ์„ค์น˜ํ•˜๊ณ  ์‹œ์ž‘
    wifi_cnt = 1
    before_install = house[0]
    for i in range(1, N):
        if house[i] >= before_install + mid:  # ์„ค์น˜ ๊ฐ„๊ฒฉ ์ถฉ์กฑ
            wifi_cnt += 1
            before_install = house[i]

    # ์™€์ดํŒŒ์ด ๊ฐœ์ˆ˜๊ฐ€ C๋ณด๋‹ค ์ž‘์œผ๋ฉด ๋” ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ„๊ฒฉ์„ ์ขํžˆ์ž.
    if wifi_cnt < C:
        right = mid - 1
    # ์™€์ดํŒŒ์ด ๊ฐœ์ˆ˜๊ฐ€ C๋ณด๋‹ค ๋งŽ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ๋œ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ„๊ฒฉ์„ ๋„“ํžˆ์ž.
    else:
        left = mid + 1
        # ์ค‘๊ฐ„์— mid๋ฅผ ์ €์žฅํ•˜๋Š” ์ด์œ ๋Š” ๊ฐœ์ˆ˜๋ฅผ ๋งŒ์กฑํ•  ๋•Œ ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆฌ๋ ค๋‹ค๊ฐ€
        # ๋‹ค์Œ์—๋Š” ๊ฐœ์ˆ˜๋ฅผ ๋งŒ์กฑ์‹œํ‚ค์ง€ ๋ชปํ•˜๊ณ  while๋ฌธ์ด ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ๋‹ค.
        answer = mid

print(answer)
 

 

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

์ถœ์ฒ˜: BACKJOON ONLINE JUDGE

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

 

2110๋ฒˆ: ๊ณต์œ ๊ธฐ ์„ค์น˜

์ฒซ์งธ ์ค„์— ์ง‘์˜ ๊ฐœ์ˆ˜ N (2 โ‰ค N โ‰ค 200,000)๊ณผ ๊ณต์œ ๊ธฐ์˜ ๊ฐœ์ˆ˜ C (2 โ‰ค C โ‰ค N)์ด ํ•˜๋‚˜ ์ด์ƒ์˜ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ง‘์˜ ์ขŒํ‘œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” xi (1 โ‰ค xi โ‰ค 1,000,000,000)๊ฐ€ ๏ฟฝ

www.acmicpc.net

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€

'Algorithm Problem > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[python] ๋ฐฑ์ค€ - 5430. AC  (0) 2020.10.18
[python] ๋ฐฑ์ค€ - 2004. ์กฐํ•ฉ 0์˜ ๊ฐœ์ˆ˜  (1) 2020.10.17
[python] ๋ฐฑ์ค€ - 1735. ๋ถ„์ˆ˜ ํ•ฉ  (0) 2020.10.15
[python] ๋ฐฑ์ค€ - 1965. ์ƒ์ž ๋„ฃ๊ธฐ  (0) 2020.10.14
[python] ๋ฐฑ์ค€ - 2504. ๊ด„ํ˜ธ์˜ ๊ฐ’  (0) 2020.10.13
  • ๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ
  • ๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ
  • ๐Ÿ“•๋ฌธ์ œ ํ™•์ธ
'Algorithm Problem/Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [python] ๋ฐฑ์ค€ - 5430. AC
  • [python] ๋ฐฑ์ค€ - 2004. ์กฐํ•ฉ 0์˜ ๊ฐœ์ˆ˜
  • [python] ๋ฐฑ์ค€ - 1735. ๋ถ„์ˆ˜ ํ•ฉ
  • [python] ๋ฐฑ์ค€ - 1965. ์ƒ์ž ๋„ฃ๊ธฐ
deo2kim
deo2kim
์ฝ”๋”ฉ ๊ธฐ๋กํ•˜๊ธฐ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.