J1Yun
ZU-TECHLOG
J1Yun
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ“‘ Category (135)
    • Algorithm (61)
      • ๐Ÿ“š Concept (6)
      • ๐Ÿ“˜ Baekjoon Judge (53)
      • ๐Ÿ“— Programmers (2)
    • Computer Science (42)
      • ๐Ÿ”’ Operating System (14)
      • ๐Ÿ“ก Network (15)
      • ๐Ÿ’พ Database (8)
      • ๐Ÿงฉ Design Pattern (4)
      • ๐Ÿ”‘ Security (1)
    • Activities (12)
      • ๐Ÿฆ ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ 9๊ธฐ (6)
      • ๐Ÿ’ป SW๋งˆ์—์ŠคํŠธ๋กœ 13๊ธฐ (6)
    • Infra (1)
      • โ˜๏ธ AWS (1)
    • Languages (1)
      • ๐Ÿ’™ Python (1)
    • Backend (7)
      • ๐Ÿ”ต Django (4)
      • ๐ŸŸข Node.js (3)
    • Ect. (8)
      • ๐Ÿ’ฌ Talk (0)
      • ๐Ÿ—‚๏ธ ๊ฐœ๋ฐœ์ง๊ตฐ ์ทจ์—… ์ค€๋น„์ž๋ฃŒ (8)

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

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

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

์ธ๊ธฐ ๊ธ€

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

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
J1Yun

ZU-TECHLOG

[BOJ] ๋ฐฑ์ค€ 1781๋ฒˆ ์ปต๋ผ๋ฉด - ํŒŒ์ด์ฌ(Python)
Algorithm/๐Ÿ“˜ Baekjoon Judge

[BOJ] ๋ฐฑ์ค€ 1781๋ฒˆ ์ปต๋ผ๋ฉด - ํŒŒ์ด์ฌ(Python)

728x90

๋ฌธ์ œ

์ƒ์šฑ ์กฐ๊ต๋Š” ๋™ํ˜ธ์—๊ฒŒ N๊ฐœ์˜ ๋ฌธ์ œ๋ฅผ ์ฃผ๊ณ ์„œ, ๊ฐ๊ฐ์˜ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ์„ ๋•Œ ์ปต๋ผ๋ฉด์„ ๋ช‡ ๊ฐœ ์ค„ ๊ฒƒ์ธ์ง€ ์ œ์‹œ ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ๋™ํ˜ธ์˜ ์ฐŒ๋ฅผ๋“ฏํ•œ ์ž์‹ ๊ฐ์— ์†Œ์‹ฌํ•œ ์ƒ์šฑ ์กฐ๊ต๋Š” ๊ฐ๊ฐ์˜ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋ฐ๋“œ๋ผ์ธ์„ ์ •ํ•˜์˜€๋‹ค.

๋ฌธ์ œ ๋ฒˆํ˜ธ๋ฐ๋“œ๋ผ์ธ์ปต๋ผ๋ฉด ์ˆ˜

๋ฌธ์ œ ๋ฒˆํ˜ธ 1 2 3 4 5 6 7
๋ฐ๋“œ๋ผ์ธ 1 1 3 3 2 2 6
์ปต๋ผ๋ฉด ์ˆ˜ 6 7 2 1 4 5 1

์œ„์™€ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ๋™ํ˜ธ๊ฐ€ 2, 6, 3, 1, 7, 5, 4 ์ˆœ์œผ๋กœ ์ˆ™์ œ๋ฅผ ํ•œ๋‹ค๋ฉด 2, 6, 3, 7๋ฒˆ ๋ฌธ์ œ๋ฅผ ์‹œ๊ฐ„ ๋‚ด์— ํ’€์–ด ์ด 15๊ฐœ์˜ ์ปต๋ผ๋ฉด์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

๋ฌธ์ œ๋Š” ๋™ํ˜ธ๊ฐ€ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ปต๋ผ๋ฉด ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์œ„์˜ ์˜ˆ์—์„œ๋Š” 15๊ฐ€ ์ตœ๋Œ€์ด๋‹ค.

๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ๋Š” ๋‹จ์œ„ ์‹œ๊ฐ„ 1์ด ๊ฑธ๋ฆฌ๋ฉฐ, ๊ฐ ๋ฌธ์ œ์˜ ๋ฐ๋“œ๋ผ์ธ์€ N์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋˜, ๊ฐ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ปต๋ผ๋ฉด ์ˆ˜์™€ ์ตœ๋Œ€๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ปต๋ผ๋ฉด ์ˆ˜๋Š” ๋ชจ๋‘ 231๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

์ž…๋ ฅ

์ฒซ ์ค„์— ์ˆ™์ œ์˜ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 200,000)์ด ๋“ค์–ด์˜จ๋‹ค. ๋‹ค์Œ ์ค„๋ถ€ํ„ฐ N+1๋ฒˆ์งธ ์ค„๊นŒ์ง€ i+1๋ฒˆ์งธ ์ค„์— i๋ฒˆ์งธ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋ฐ๋“œ๋ผ์ธ๊ณผ ํ’€๋ฉด ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ปต๋ผ๋ฉด ์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ž…๋ ฅ๋œ๋‹ค.

์ถœ๋ ฅ

์ฒซ ์ค„์— ๋™ํ˜ธ๊ฐ€ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ปต๋ผ๋ฉด ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

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

 

1781๋ฒˆ: ์ปต๋ผ๋ฉด

์ƒ์šฑ ์กฐ๊ต๋Š” ๋™ํ˜ธ์—๊ฒŒ N๊ฐœ์˜ ๋ฌธ์ œ๋ฅผ ์ฃผ๊ณ ์„œ, ๊ฐ๊ฐ์˜ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ์„ ๋•Œ ์ปต๋ผ๋ฉด์„ ๋ช‡ ๊ฐœ ์ค„ ๊ฒƒ์ธ์ง€ ์ œ์‹œ ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ๋™ํ˜ธ์˜ ์ฐŒ๋ฅผ๋“ฏํ•œ ์ž์‹ ๊ฐ์— ์†Œ์‹ฌํ•œ ์ƒ์šฑ ์กฐ๊ต๋Š” ๊ฐ๊ฐ์˜ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋ฐ๋“œ๋ผ

www.acmicpc.net

 

๐Ÿ’กํ’€์ด ๋ฐ ์ฝ”๋“œ

import heapq
n = int(input())
data, hq = [], []
for _ in range(n):
    data.append(tuple(map(int, input().split())))
data.sort(key=lambda x: (x[0], -x[1]))
time, result= 1, 0
for d, c in data:
    if time <= d:
        result += c
        heapq.heappush(hq, (c, time))
        time += 1
    else:
        if hq:
            min_tmp = heapq.heappop(hq)
            if min_tmp[0] < c:
                result += (c - min_tmp[0])
                heapq.heappush(hq, (c, min_tmp[1]))
            else:
                heapq.heappush(hq, min_tmp)
print(result)

์—ฌ๋Ÿฌ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ฒช์—ˆ๋˜ ๋ฌธ์ œ์ด๋‹ค. ์šฐ์„ ์ˆœ์œ„ํ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์€ '์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜'๋ฅผ ํ™•์ธํ•˜๊ณ ์„œ์•ผ ๊นจ๋‹ฌ์•˜๋‹ค. 

๊ฐ€์žฅ ์ค‘์š”ํ•œ ํฌ์ธํŠธ๋Š” ๋‘ ๊ฐ€์ง€์ธ ๊ฒƒ ๊ฐ™๋‹ค.

1. ๋ฐ๋“œ๋ผ์ธ์ด ๋น ๋ฅธ ๋ฌธ์ œ๋ถ€ํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. -> sort ์‚ฌ์šฉ

2. ๋ฐ๋“œ๋ผ์ธ์ด ์ง€๋‚œ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ ๊ทธ๋ƒฅ ์ง€๋‚˜์น˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ด์ „๊นŒ์ง€ ํ‘ผ ๋ฌธ์ œ ์ค‘ ์ปต๋ผ๋ฉด ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์—ˆ๋˜ ๋ฌธ์ œ์™€ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ๋น„๊ตํ•ด ํ›„์ž์˜ ์ปต๋ผ๋ฉด ์ˆ˜๊ฐ€ ๋” ๋งŽ๋‹ค๋ฉด ์ด์ „์— ํ‘ผ ๋ฌธ์ œ๋ฅผ ํ•ด๋‹น ๋ฌธ์ œ๋กœ ๋Œ€์ฒดํ•œ๋‹ค. -> heapq ์‚ฌ์šฉ

728x90

'Algorithm > ๐Ÿ“˜ Baekjoon Judge' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ] ๋ฐฑ์ค€ 12904๋ฒˆ A์™€ B - ํŒŒ์ด์ฌ(Python)  (0) 2022.07.06
[BOJ] ๋ฐฑ์ค€ 3109๋ฒˆ ๋นต์ง‘ - ํŒŒ์ด์ฌ(Python)  (0) 2022.07.06
[BOJ] ๋ฐฑ์ค€ 8980๋ฒˆ ํƒ๋ฐฐ - ํŒŒ์ด์ฌ(Python)  (0) 2022.07.04
[BOJ] ๋ฐฑ์ค€ 15683๋ฒˆ ๊ฐ์‹œ - ํŒŒ์ด์ฌ(Python)  (0) 2022.04.04
[BOJ] ๋ฐฑ์ค€ 14499๋ฒˆ ์ฃผ์‚ฌ์œ„ ๊ตด๋ฆฌ๊ธฐ - ํŒŒ์ด์ฌ(Python)  (0) 2022.04.02
    'Algorithm/๐Ÿ“˜ Baekjoon Judge' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€์ด๋‹ค
    • [BOJ] ๋ฐฑ์ค€ 12904๋ฒˆ A์™€ B - ํŒŒ์ด์ฌ(Python)
    • [BOJ] ๋ฐฑ์ค€ 3109๋ฒˆ ๋นต์ง‘ - ํŒŒ์ด์ฌ(Python)
    • [BOJ] ๋ฐฑ์ค€ 8980๋ฒˆ ํƒ๋ฐฐ - ํŒŒ์ด์ฌ(Python)
    • [BOJ] ๋ฐฑ์ค€ 15683๋ฒˆ ๊ฐ์‹œ - ํŒŒ์ด์ฌ(Python)
    J1Yun
    J1Yun
    ๊ฐœ๋ฐœ ๊ด€๋ จ ๊ธฐ์ˆ  ๋ฐ ๊ณต๋ถ€ ๋‚ด์šฉ ๊ธฐ๋ก์žฅ

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