Algorithm/BOJ

λ°±μ€€(BOJ) 11000번 κ°•μ˜μ‹€λ°°μ • [그리디(Greedy)/μ•Œκ³ λ¦¬μ¦˜/파이썬(python)/큐]

2021. 8. 6. 22:23
λͺ©μ°¨
  1. 문제
  2. μž…λ ₯
  3. 좜λ ₯
  4. ✍ 문제 이해
  5.  
  6. ✍ 문제 풀이
  7. πŸ“ μ½”λ“œ
 

11000번: κ°•μ˜μ‹€ λ°°μ •

첫 번째 쀄에 N이 μ£Όμ–΄μ§„λ‹€. (1 ≀ N ≀ 200,000) 이후 N개의 쀄에 Si, Tiκ°€ μ£Όμ–΄μ§„λ‹€. (1 ≀ Si < Ti β‰€ 109)

www.acmicpc.net

 

 

문제

μˆ˜κ°•μ‹ μ²­μ˜ λ§ˆμŠ€ν„° κΉ€μ’…ν˜œ μ„ μƒλ‹˜μ—κ²Œ μƒˆλ‘œμš΄ κ³Όμ œκ°€ μ£Όμ–΄μ‘Œλ‹€. 

κΉ€μ’…ν˜œ μ„ μƒλ‹˜ν•œν…ŒλŠ” Si에 μ‹œμž‘ν•΄μ„œ Ti에 λλ‚˜λŠ” N개의 μˆ˜μ—…μ΄ μ£Όμ–΄μ§€λŠ”λ°, μ΅œμ†Œμ˜ κ°•μ˜μ‹€μ„ μ‚¬μš©ν•΄μ„œ λͺ¨λ“  μˆ˜μ—…μ„ κ°€λŠ₯ν•˜κ²Œ ν•΄μ•Ό ν•œλ‹€. 

참고둜, μˆ˜μ—…μ΄ λλ‚œ 직후에 λ‹€μŒ μˆ˜μ—…μ„ μ‹œμž‘ν•  수 μžˆλ‹€. (즉, Ti β‰€ Sj μΌ 경우 i μˆ˜μ—…κ³Ό j μˆ˜μ—…μ€ 같이 듀을 수 μžˆλ‹€.)

μˆ˜κ°•μ‹ μ²­ λŒ€μΆ©ν•œ 게 찔리면, μ„ μƒλ‹˜μ„ λ„μ™€λ“œλ¦¬μž!

 

 

μž…λ ₯

첫 번째 쀄에 N이 μ£Όμ–΄μ§„λ‹€. (1 ≀ N ≀ 200,000)

이후 N개의 쀄에 Si, Tiκ°€ μ£Όμ–΄μ§„λ‹€. (1 ≀ Si < Ti β‰€ 109)

 

좜λ ₯

κ°•μ˜μ‹€μ˜ 개수λ₯Ό 좜λ ₯ν•˜λΌ.

 


전에 ν’€μ–΄λ΄€λ˜ 그리디 μ•Œκ³ λ¦¬μ¦˜μ΄λž‘ λ‹¬λΌμ„œ 계속 톡과 λͺ»ν•˜κ³  μžˆλ‹€κ°€ λ‚΄κ°€ 문제λ₯Ό 잘λͺ»μ΄ν•΄ν–ˆλ‹€λŠ”κ±Έ κΉ¨λ‹¬μ•˜λ‹€...

κ·Έ 전에 ν’€μ—ˆλ˜ λ¬Έμ œλŠ” μ΅œλŒ€ν•œ λ§Žμ€ μˆ˜μ—…μ„ 듀을 수 μžˆλŠ” 방법 or ν•œ κ°•μ˜μ‹€μ—μ„œ μ΅œλŒ€μ˜ κ°•μ˜μˆ˜ 이런걸둜 ν’€μ—ˆμ–΄μ„œ λλ‚˜λŠ” μ‹œκ°„μ΄ κ°€μž₯ λΉ λ₯Έ μˆœμ„œλŒ€λ‘œ μ •λ ¬ν•΄μ„œ λ‹€μŒ μ‹œμž‘μ‹œκ°„κ³Ό λΉ„κ΅ν•˜λŠ” λ°©λ²•μ΄μ—ˆλŠ”λ°, 이건 κ·Έ λ°˜λŒ€μ˜€λ˜...πŸ˜… ν•œμ°Έμ„ ν—€λ§Έλ‹€!!

 


✍ 문제 이해

  • λͺ¨λ“  μˆ˜μ—…μ„ λ“€μ–΄μ•Όν•œλ‹€.
  • λͺ¨λ“  μˆ˜μ—…μ„ λ“£κΈ° μœ„ν•΄μ„œ ν•„μš”ν•œ κ°€μž₯ μ΅œμ†Œμ˜ κ°•μ˜μ‹€ μˆ˜λŠ”?

예제λ₯Ό 그림으둜 λ‚˜νƒ€λ‚Έλ‹€λ©΄,
같은 μƒ‰μœΌλ‘œ 된 κ°•μ˜κ°€ 같은 κ°•μ˜μ‹€μ„ μ“΄λ‹€λŠ” 것이닀.
κ·Έλž˜μ„œ 총 2개의 κ°•μ˜μ‹€μ΄ ν•„μš”ν•˜λ‹€.

 

✍ 문제 풀이

κ°•μ˜ μ‹œμž‘ λ¦¬μŠ€νŠΈμ™€ μ’…λ£Œ 리슀트λ₯Ό 2차원 리슀트둜 λ¬Άκ³ , μ‹œμž‘ μ‹œκ°„μ„ κΈ°μ€€μœΌλ‘œ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•œλ‹€.

heapqλ₯Ό μ‚¬μš©ν•˜λ©΄ λ¦¬μŠ€νŠΈκ°€ 항상 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ 정렬이 λœλ‹€.

κ°•μ˜λŠ” λͺ¨λ‘ λ“€μ–΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— 처음 μ‹œμž‘ν–ˆλ˜ κ°•μ˜μ˜ λλ‚˜λŠ” μ‹œκ°„μ„ heapq에 λ„£κ³ , q리슀트의 μ΅œμ†Œκ°’κ³Ό λ‹€μŒ μˆ˜μ—…μ˜ μ‹œμž‘μ‹œκ°„μ„ λΉ„κ΅ν•œλ‹€.

λ§Œμ•½ λ‹€μŒ κ°•μ˜ μ‹œμž‘ μ‹œκ°„μ΄ 리슀트의 μ΅œμ†Œκ°’λ³΄λ‹€ 큰 값이라면 μ΅œμ†Œκ°’μ„ μ‚­μ œν•œλ‹€.

λ‹€μŒ κ°•μ˜μ˜ λλ‚˜λŠ” μ‹œκ°„μ„ qλ¦¬μŠ€νŠΈμ— λ„£λŠ”λ‹€.

λ§ˆμ§€λ§‰μœΌλ‘œ q리슀트의 길이λ₯Ό 좜λ ₯ν•˜λ©΄ 총 κ°•μ˜μ‹€ μˆ˜κ°€ λ‚˜μ˜¨λ‹€!

 

πŸ“ μ½”λ“œ

import heapq
import sys

def greedy_lecture_num(list):
    q = []
    heapq.heappush(q,list[0][1])
    
    for i in range(1, len(list)):
        if q[0] <= list[i][0]:
            heapq.heappop(q)
        heapq.heappush(q, list[i][1])
    return len(q)

N = int(sys.stdin.readline())
list = [[0 for j in range(2)] for i in range(N)]

for i in range(N):
    start, finish = map(int, sys.stdin.readline().split())
    list[i][0], list[i][1] = start, finish

list.sort(key=lambda x: x[0])

print(greedy_lecture_num(list))

 


python μ½”λ“œλ‘œ μ œμΆœν•  λ•Œ input()ν•¨μˆ˜ μ‚¬μš©ν•˜λ©΄ μ•ˆλ˜κ² λ‹€γ… γ…  자꾸 νƒ€μž„μ•„μ›ƒμ΄λ‹€..

μ•žμœΌλ‘œ κΌ­ sys.stdin.readline() μ‚¬μš©ν•΄μ•Όμ§€!!

 

μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)

'Algorithm > BOJ' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

λ°±μ€€(BOJ) 11047번 동전 0 [그리디(Greedy)/μ•Œκ³ λ¦¬μ¦˜/파이썬(python)]  (0) 2021.08.11
λ°±μ€€(BOJ) 1931번 νšŒμ˜μ‹€λ°°μ • [그리디(Greedy)/μ•Œκ³ λ¦¬μ¦˜/파이썬(python)]  (0) 2021.08.07
λ°±μ€€(BOJ) 1158번 μš”μ„Έν‘ΈμŠ€ [μ•Œκ³ λ¦¬μ¦˜/파이썬(python)/μ—°κ²°λ¦¬μŠ€νŠΈ]  (0) 2021.07.07
λ°±μ€€(BOJ) 9012번 μŠ€νƒλ¬Έμ œ [파이썬(python)]  (0) 2021.07.02
λ°±μ€€(BOJ) 10828번 μŠ€νƒλ¬Έμ œ [파이썬(python) / μ‹œκ°„μ΄ˆκ³Ό μ—λŸ¬]  (0) 2021.06.28
  1. 문제
  2. μž…λ ₯
  3. 좜λ ₯
  4. ✍ 문제 이해
  5.  
  6. ✍ 문제 풀이
  7. πŸ“ μ½”λ“œ
'Algorithm/BOJ' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • λ°±μ€€(BOJ) 11047번 동전 0 [그리디(Greedy)/μ•Œκ³ λ¦¬μ¦˜/파이썬(python)]
  • λ°±μ€€(BOJ) 1931번 νšŒμ˜μ‹€λ°°μ • [그리디(Greedy)/μ•Œκ³ λ¦¬μ¦˜/파이썬(python)]
  • λ°±μ€€(BOJ) 1158번 μš”μ„Έν‘ΈμŠ€ [μ•Œκ³ λ¦¬μ¦˜/파이썬(python)/μ—°κ²°λ¦¬μŠ€νŠΈ]
  • λ°±μ€€(BOJ) 9012번 μŠ€νƒλ¬Έμ œ [파이썬(python)]
DAHLIA CHOI
DAHLIA CHOI
DAHLIA CHOI
🌼 dali's log 🌼
DAHLIA CHOI
전체
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기 (103)
    • Spring (42)
    • JAVA & OOP (8)
    • AWS (2)
    • DevOps (5)
    • Network (7)
    • DB (5)
    • Algorithm (9)
      • BOJ (6)
      • PROGRAMMERS (2)
      • LEETCODE (0)
    • Books (5)
    • νŠΈλŸ¬λΈ” μŠˆνŒ… (5)
    • 회고 (0)
    • 기타 (5)
    • FRENCH (1)
    • 필사 (2)
    • κ²½ν—˜ (5)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

졜근 κΈ€

hELLO Β· Designed By μ •μƒμš°.
DAHLIA CHOI
λ°±μ€€(BOJ) 11000번 κ°•μ˜μ‹€λ°°μ • [그리디(Greedy)/μ•Œκ³ λ¦¬μ¦˜/파이썬(python)/큐]
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”

단좕킀

λ‚΄ λΈ”λ‘œκ·Έ

λ‚΄ λΈ”λ‘œκ·Έ - κ΄€λ¦¬μž ν™ˆ μ „ν™˜
Q
Q
μƒˆ κΈ€ μ“°κΈ°
W
W

λΈ”λ‘œκ·Έ κ²Œμ‹œκΈ€

κΈ€ μˆ˜μ • (κΆŒν•œ μžˆλŠ” 경우)
E
E
λŒ“κΈ€ μ˜μ—­μœΌλ‘œ 이동
C
C

λͺ¨λ“  μ˜μ—­

이 νŽ˜μ΄μ§€μ˜ URL 볡사
S
S
맨 μœ„λ‘œ 이동
T
T
ν‹°μŠ€ν† λ¦¬ ν™ˆ 이동
H
H
단좕킀 μ•ˆλ‚΄
Shift + /
⇧ + /

* λ‹¨μΆ•ν‚€λŠ” ν•œκΈ€/영문 λŒ€μ†Œλ¬Έμžλ‘œ 이용 κ°€λŠ₯ν•˜λ©°, ν‹°μŠ€ν† λ¦¬ κΈ°λ³Έ λ„λ©”μΈμ—μ„œλ§Œ λ™μž‘ν•©λ‹ˆλ‹€.