[๋ฐฑ์ค€] 1655. ๊ฐ€์šด๋ฐ๋ฅผ ๋งํ•ด์š”/Python - Gold2

2025. 2. 26. 16:17ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

https://www.acmicpc.net/problem/1655

์„ฑ๋Šฅ ์š”์•ฝ

๋ฉ”๋ชจ๋ฆฌ: 39016 KB, ์‹œ๊ฐ„: 228 ms

๋ถ„๋ฅ˜

์ž๋ฃŒ ๊ตฌ์กฐ, ์šฐ์„ ์ˆœ์œ„ ํ

 

๋ฌธ์ œ ์„ค๋ช…

๋ฐฑ์ค€์ด๋Š” ๋™์ƒ์—๊ฒŒ "๊ฐ€์šด๋ฐ๋ฅผ ๋งํ•ด์š”" ๊ฒŒ์ž„์„ ๊ฐ€๋ฅด์ณ์ฃผ๊ณ  ์žˆ๋‹ค. ๋ฐฑ์ค€์ด๊ฐ€ ์ •์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ์™ธ์น ๋•Œ๋งˆ๋‹ค ๋™์ƒ์€ ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฑ์ค€์ด๊ฐ€ ๋งํ•œ ์ˆ˜ ์ค‘์—์„œ ์ค‘๊ฐ„๊ฐ’์„ ๋งํ•ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ, ๊ทธ๋™์•ˆ ๋ฐฑ์ค€์ด๊ฐ€ ์™ธ์นœ ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ง์ˆ˜๊ฐœ๋ผ๋ฉด ์ค‘๊ฐ„์— ์žˆ๋Š” ๋‘ ์ˆ˜ ์ค‘์—์„œ ์ž‘์€ ์ˆ˜๋ฅผ ๋งํ•ด์•ผ ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐฑ์ค€์ด๊ฐ€ ๋™์ƒ์—๊ฒŒ 1, 5, 2, 10, -99, 7, 5๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์™ธ์ณค๋‹ค๊ณ  ํ•˜๋ฉด, ๋™์ƒ์€ 1, 1, 2, 2, 2, 2, 5๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋งํ•ด์•ผ ํ•œ๋‹ค. ๋ฐฑ์ค€์ด๊ฐ€ ์™ธ์น˜๋Š” ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋™์ƒ์ด ๋งํ•ด์•ผ ํ•˜๋Š” ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

โœ๐Ÿปํ’€์ด

์ •๋ง ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณด๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•ด์„œ ๊ฐ’์„ ๋„ฃ์„ ๋•Œ๋งˆ๋‹ค ์ •๋ ฌํ•ด์„œ ํ’€ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(n²logn)์œผ๋กœ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์šฐ๋ฆฌ๋Š” ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์ด์šฉํ•ด์„œ ํ’€๋ฉด ๋œ๋‹ค. ๋‹ค๋งŒ, ์ด ๋•Œ ์ตœ์†Œ ํž™๋งŒ ์ด๋™ํ•œ๋‹ค๋ฉด ์›ํ•˜๋Š” ์ถœ๋ ฅ ๊ฐ’์ด ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์†Œ ํž™๊ณผ ์ตœ๋Œ€ ํž™์„ ๋‘ ๊ฐœ ๋‹ค ์ด์šฉํ•˜๊ฒ ๋‹ค. ์™ผ์ชฝ์œผ๋กœ๋Š” ์ตœ๋Œ€ ํž™์„ ์‚ฌ์šฉํ•ด์„œ ์ž‘์€ ์ˆ˜๋“ค๋งŒ ๋ชจ์•„๋†“๊ณ , ์˜ค๋ฅธ์ชฝ์—๋Š” ์ตœ์†Œ ํž™์„ ์‚ฌ์šฉํ•ด์„œ ํฐ ์ˆ˜๋“ค๋งŒ ๋ชจ์•„๋†“๊ฒ ๋‹ค.

๋จผ์ €, ์ง์ˆ˜์ผ ๋•Œ์™€ ํ™€์ˆ˜์ผ ๋•Œ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๊ธธ์ด๊ฐ€ ๊ฐ™๋‹ค๋ฉด ์™ผ์ชฝ์— ๋„ฃ์–ด์ฃผ๊ณ  ๋‹ค๋ฅด๋‹ค๋ฉด ์˜ค๋ฅธ์ชฝ์— ๋„ฃ์–ด์ฃผ๊ฒ ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ 1, 2, 5 ์ˆœ์œผ๋กœ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค๋ฉด left์— 1๊ณผ 5๊ฐ€ ๋“ค์–ด๊ฐ€๊ณ  right์—๋Š” 2๊ฐ€ ๋“ค์–ด๊ฐˆ ๊ฒƒ์ด๋‹ค. ์šฐ๋ฆฌ๋Š” 2์™€ 5๋ฅผ ๋นผ์„œ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด left๋Š” ์‹ค์ œ๋กœ๋Š” [-2, -1], right๋Š” [5]๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์ž…๋ ฅ๊ฐ’๋Œ€๋กœ ๋„ฃ์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์šฐ๋ฆฌ๋Š” left์— ์žˆ๋Š” ๊ฐ’์— -๋ฅผ ๋ถ™์—ฌ์„œ ์ถœ๋ ฅํ•˜๋ฉด ์ค‘์•™๊ฐ’์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

import sys
from heapq import heappush, heappop

input = sys.stdin.readline

N = int(input()) # ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜
left_nums = []
right_nums = []

for i in range(1, N+1):
    n = int(input())
	
    # ์ด ๊ธธ์ด๊ฐ€ ์ง์ˆ˜์ผ ๋•Œ์™€ ํ™€์ˆ˜์ผ ๋•Œ๋ฅผ ๊ณ ๋ ค.
    if len(left_nums) == len(right_nums):
        heappush(left_nums, -n)
    else:
        heappush(right_nums, n)
	
    # ๋ฃจํŠธ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ์ž‘์€ ์ˆ˜๋Œ€๋กœ ํฐ ์ˆ˜๋Œ€๋กœ ๋ชจ์Œ. ์ •๋ ฌํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ.
    if right_nums and -left_nums[0] > right_nums[0]:
        right = heappop(right_nums)
        left = heappop(left_nums)

        heappush(right_nums, -left)
        heappush(left_nums, -right)
    print(-left_nums[0])

๐Ÿ“ํ›„๊ธฐ

๋‚˜๋Š” ์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ์ ‘๊ทผํ–ˆ์„ ๋•Œ ์ตœ์†Œ ํž™์œผ๋กœ ํ’€๋ฉด ์•Œ์•„์„œ ์ž‘์€ ์ˆ˜๋Œ€๋กœ ์ •๋ ฌ ๋˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํž™์œผ๋กœ ๋„ฃ์€ ํ›„ ์ตœ์†Œํž™์€ ์ตœ์†Œํž™๋Œ€๋กœ ์ตœ์†Ÿ๊ฐ’์„ popํ•˜๊ณ  ์ตœ๋Œ€ํž™์ด๋ฉด ์ตœ๋Œ“๊ฐ’์„ popํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ’€๋ฉฐ ํž™์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Coding Test > Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 2493. ํƒ‘/Python - Gold5  (0) 2025.03.01
[๋ฐฑ์ค€] 1202. ๋ณด์„ ๋„๋‘‘/Python - Gold2  (0) 2025.02.28
[๋ฐฑ์ค€] 1715. ์นด๋“œ ์ •๋ ฌํ•˜๊ธฐ/Python - Gold4  (0) 2025.02.26
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] [1์ฐจ]์บ์‹œ/Python - Lv.2  (0) 2025.02.21
[๋ฐฑ์ค€] 18870. ์ขŒํ‘œ ์••์ถ•/Python - Silver2  (0) 2025.02.19
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 2493. ํƒ‘/Python - Gold5
  • [๋ฐฑ์ค€] 1202. ๋ณด์„ ๋„๋‘‘/Python - Gold2
  • [๋ฐฑ์ค€] 1715. ์นด๋“œ ์ •๋ ฌํ•˜๊ธฐ/Python - Gold4
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] [1์ฐจ]์บ์‹œ/Python - Lv.2
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (148) N
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (69) N
        • Algorithms (61) N
        • SQL (7)
      • Infra (6)
      • Cloud (20)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (11)
      • Linux (26)
      • NGINX (1)
      • CICD (3)
      • IaC (1)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ๋งํฌ

    • Lucy's Instagram
    • Lucy's GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    dfs
    cs ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ
    Java
    ์ž๋ฐ”
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€
    Baekjoon
    ๋ฐฑ์ค€
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰
    ์…ธ ์Šคํฌ๋ฆฝํŠธ
    K8s
    ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ง€์‹
    ๋„คํŠธ์›Œํฌ
    Linux
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰
    ์‰˜ ์Šคํฌ๋ฆฝํŠธ
    ์˜ค๋ธ”์™„
    network
    programmers
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    Shell
    docker
    bfs
    Kubernetes
    Shell Script
    ๋ฆฌ๋ˆ…์Šค
    ๋„์ปค
    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[๋ฐฑ์ค€] 1655. ๊ฐ€์šด๋ฐ๋ฅผ ๋งํ•ด์š”/Python - Gold2
์ƒ๋‹จ์œผ๋กœ

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