[Baekjoon/π₯Silverβ ‘] 1931: νμμ€ λ°°μ
πλ¬Έμ
ν κ°μ νμμ€μ΄ μλλ° μ΄λ₯Ό μ¬μ©νκ³ μ νλ Nκ°μ νμμ λνμ¬ νμμ€ μ¬μ©νλ₯Ό λ§λ€λ €κ³ νλ€. κ° νμ Iμ λν΄ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ Έ μκ³ , κ° νμκ° κ²ΉμΉμ§ μκ² νλ©΄μ νμμ€μ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μ°Ύμ보μ. λ¨, νμλ νλ² μμνλ©΄ μ€κ°μ μ€λ¨λ μ μμΌλ©° ν νμκ° λλλ κ²κ³Ό λμμ λ€μ νμκ° μμλ μ μλ€. νμμ μμμκ°κ³Ό λλλ μκ°μ΄ κ°μ μλ μλ€. μ΄ κ²½μ°μλ μμνμλ§μ λλλ κ²μΌλ‘ μκ°νλ©΄ λλ€.
πμ λ ₯
첫째 μ€μ νμμ μ N(1 β€ N β€ 100,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° N+1 μ€κΉμ§ κ° νμμ μ λ³΄κ° μ£Όμ΄μ§λλ° μ΄κ²μ 곡백μ μ¬μ΄μ λκ³ νμμ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ§λ€. μμ μκ°κ³Ό λλλ μκ°μ 231-1λ³΄λ€ μκ±°λ κ°μ μμ°μ λλ 0μ΄λ€.
πμΆλ ₯
첫째 μ€μ μ΅λ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μΆλ ₯νλ€.
πββοΈμ κ·Ό λ°©λ²
πλ¬Έμ μ ν΅μ¬!
π© λ¬Έμ μμμ μ£ΌμκΉκ² λ΄μΌ ν λΆλΆμ λ°λ‘ βνμμ μμ μκ°κ³Ό λλλ μκ°μ΄ κ°μ μλ μλ€βλ λΆλΆμ΄λ€.
- μλ‘ ν΄λΉ μ
λ ₯λ€μ μ΄ν΄λ³΄μ.
- N = 2
- 1, 1/ 1, 1
π© μ΄μ κ°μ΄ μ£Όμ΄μ‘μ λ, νμμ€μ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ λͺκ°μΌκΉ??
- λ΅μ 2κ°μ΄λ€. μμ, λ μκ°μ΄ κ°μΌλ―λ‘ μμνμλ§μ λλκΈ° λλ¬Έμ λ νμλ₯Ό κ°μ μκ°μ λ£μ΄λ νμκ° κ²ΉμΉμ§ μκ² λλ κ²μ΄λ€.
πλ¬Έμ λΆμ
π© νμμ€μ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό ꡬνκΈ° μν΄μλ μ§§κ² κ±Έλ¦¬λ νμλ₯Ό μμ£Όλ‘ νμλ₯Ό μ νν΄μΌ νλ€.
π© κ·Έλ λ€λ©΄ 걸리λ μκ° μμΌλ‘ μ λ ¬μ ν΄ μμ μμΌλ‘ νμλ₯Ό λ°°μΉνλ©΄ λ κΉ??
κ·Έκ²μ μλλ€!!!
- κΈ°λ³Έμ μΌλ‘ μ νμκ° μΈμ λλλλμ λ°λΌμ λ· νμκ° κ²°μ λλ€. λ°λΌμ λ¨μν 걸리λ μκ° μμ΄ μλ μ°μ λλλ μκ° μμΌλ‘ μ λ ¬ν΄μΌ νλ€.
- κ·ΈλμΌ ν΄λΉ νμ μ΄νμ νμλ€ μ€, λ€μμ λ°°μΉν νμλ₯Ό μ νν μ μκ² λλ€.
- κ·Έλ¦¬κ³ μ¬κΈ°μ μΆκ°μ μΌλ‘!! μμνλ μκ°κ³Ό λλλ μκ°μ΄ κ°μ νμκ° μ‘΄μ¬νκΈ° λλ¬Έμ λλλ μκ°μμΌλ‘ μ λ ¬ν ν, μμνλ μκ°μμΌλ‘ μΆκ° μ λ ¬ν΄μΌ νλ€.
νμλ μμνλ μμΌλ‘ μΆκ° μ λ ¬νμ§ μμ μ’ κ³ μνλ€..γ γ
π©βπ» Algorithm
π© κ·Έλ λ€λ©΄ μ λ΄μ©μ κΈ°λ°μΌλ‘ μμ±ν μ½λλ₯Ό μ΄ν΄λ³΄μ.
#21.11.16
#그리λ
import sys
N = int(sys.stdin.readline().rstrip())
lst = []
count = 0
for i in range(N):
lst.append(list(map(int, sys.stdin.readline().rstrip().split())))
# λλλ μκ°μ κΈ°μ€μΌλ‘ μ λ ¬
# λλλ μκ°μ΄ λμΌν κ²½μ°, μμμκ°μ κΈ°μ€μΌλ‘ μ λ ¬
lst.sort(key= lambda i : (i[1], i[0]))
k, l = lst[0]
for j in range(1, N):
n, o = lst[j]
# μμμκ°μ΄ μ΄μ νμμ λλλ μκ°κ³Ό κ°κ±°λ, κ·Έλ³΄λ€ ν΄ λ
if n >= l:
count += 1
k, l = n, o
print(count + 1)
π© κ·Έλ λ€λ©΄ κ·Έ κ³Όμ μ μμΈν μ΄ν΄λ³΄μ!!!
- μ°μ λλλ μκ°μ΄ κ°μ₯ λΉ λ₯Έ νμκ° κΈ°μ€μ΄ λλ€. (lst[0])
- κΈ°μ€μ μ μΈν λλ¨Έμ§ νμλ€μ λλ©° λ€μμ κ³Όμ μ λ°λ³΅νλ€.
- κΈ°μ€ νμμ λλλ μκ°λ³΄λ€ μμμκ°μ΄ ν¬κ±°λ κ°μ λ
- κΈ°μ€ νμλ νμμ€μ λ°°μΉν΄λ λλ μν©μ΄λ€. (count + 1)
- κΈ°μ€ νμλ₯Ό μ ν μ΄νΈνλ€.
πΆ μ¬κΈ°μ μ κΉ!! μλ§ λ€μμ κ³Όμ μμ μμμκ°μ΄ κΈ°μ€ νμμ μμμκ°λ³΄λ€ μμ κ²½μ°λ μ μ²λ¦¬νμ§ μμκΉ?
for j in range(1, N):
n, o = lst[j]
# μμμκ°μ΄ μ΄μ νμμ λλλ μκ°κ³Ό κ°κ±°λ, κ·Έλ³΄λ€ ν΄ λ
if n >= l:
count += 1
k, l = n, o
- κΈ°μ€ νμλ³΄λ€ μμμκ°μ΄ μμ κ²½μ° λ€μκ³Ό κ°μ΄ μ μλλ€.
- λλλ μκ°μ κΈ°μ€νμλ³΄λ€ λ리λ€.
- μμ μκ°μ κΈ°μ€νμλ³΄λ€ λΉ λ₯΄λ€.
β κ²°κ³Όμ μΌλ‘ νμμκ°μ΄ κΈ°μ€νμλ³΄λ€ κΈ΄ νμμ΄λ―λ‘ κ³ λ €ν νμκ° μλ€!
π€·ββοΈ κ·Έλ λ€λ©΄ μ λ§μ§λ§μ count + 1μ ν΄μ£Όλ κ²μΌκΉ?
forλ¬Έμ΄ λλλ κ²½μ°, μν©μ λ κ°μ§κ° μ‘΄μ¬νλ€.
- μν©1: μ λ ¬ κ°μ₯ λ§μ§λ§ νμκ° κΈ°μ€μ΄ λλ©° λλλ κ²½μ°
- μν©2: κΈ°μ€ νμμ λλλ μκ°λ³΄λ€ μμμκ°μ΄ ν¬κ±°λ κ°μ νμκ° μλ μνμμ forλ¬Έμ΄ μ’ λ£λ κ²½μ°
λ κ°μ§ μν©μμ count + 1μ ν΄μΌ νλ μ΄μ λ λ€μκ³Ό κ°λ€.
- μν©1: λ§μ§λ§ νμλ νμμ€ λ°°μΉμ ν¬ν¨λκΈ° λλ¬Έμ΄λ€.
- μν©2: κΈ°μ€νμλ νμμ€ λ°°μΉμ ν¬ν¨λκΈ° λλ¬Έμ΄λ€.
λ°λΌμ λ§μ§λ§μλ countμ 1μ λν κ°μ μΆλ ₯νκ² λλ€.
κ·Έλ λ€λ©΄ μ΄λ² κ²μκΈμ
μ¬κΈ°μ
μ΄λ§ ~~ ~(ΛβΎΛ~)
πμ°Έκ³
- https://suri78.tistory.com/26
- https://pacific-ocean.tistory.com/236
λκΈλ¨κΈ°κΈ°