-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
7-wonjunYou #155
7-wonjunYou #155
Conversation
μ¬μ€ λ¬Έμ μ΄ν΄λΆν° μκ°μ΄ μ’ κ±Έλ Έμ΅λλ€... π₯² κ·Έλν λ¬Έμ λ§ λ³΄λ©΄ μ΄λ ΅κ² λκ»΄μ§λ κ±Έ 보λ κ·Έλνμ μ΅μν΄μ§λ μ°μ΅λ ν΄λ΄μΌκ² λ€λ μκ°μ΄ λλ€μ! λλ λͺ¨μ κ·Έλν, λ§λ λͺ¨μ κ·Έλν, 8μ λͺ¨μ κ·Έλνλ₯Ό νλ¨ν μ μλ νΉμ§μ΄ 무μμΈμ§ μ°Ύμλ΄λ κ²λ μ΄λ €μ λλ° μμ€ λ νμ΄λ₯Ό λ³΄κ³ μ΄ν΄νμ΅λλ€ π μ΄λ² μ°¨μλ μκ³ νμ ¨μ΄μ! +) μ λ νμ΄μ¬μ μ μ΄μ§κ° μ’ μ€λ λμ΄μ μ μ μ°κ² λλλ° μλ°λ λΉκ΅νμ λ λ μ½κ² μ²λ¦¬ν μ μλ μΌμ΄μ€λ€μ΄ μλμ? |
μ΄ λ¬Έμ λ μ΄ν΄λΆν°κ° μ°Έ μ΄λ €μ΄ κ² κ°μ΅λλ€ γ γ μ¬μ€ μ΄ λ¬Έμ μμ νμ΄μ¬μΌλ‘ μ΄λμ λ΄€λ λΆλΆμ μλ κ² κ°μμ γ μκ°μ΄ λΉ λ―νλκΉ νμ΄μ¬μ μ‘κ² λμλ¬κΉμ..? μ λ³΄λ€ μ νμλ μ€ν°λμλΆλ€μ΄ λ§μΌμμ§λ§ μ κ° λλΌκΈ°μλ list comprehensionμ΄λ λ¬Έμμ΄μͺ½ μ²λ¦¬κ° κ°λ¨νλ€λ μ ..? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
μ λ λ¬Έμ λ₯Ό μ΄ν΄νλ κ²λΆν°κ° μ½μ§ μμμ΅λλ€,, μ νν λ κ·Έλν λ¬Έμ κ° μ©¨μΌλ‘ μ΄λ €μνλ μ νμΈλ° μμλ μ΄ λ¬Έμ λ μ½μ§ μκ΅°μ,, μ λ κ·Έλνλ₯Ό 보면 κ²λΆν° λ¨Ήλλ° κ·Έλν λ¬Έμ λ₯Ό λ§μ΄ νλ©΄μ μ μνλ μκ°μ μ’ κ°μ ΈμΌκ² μ΅λλ€! ππ
μμ€λμ μλμ½λλ₯Ό μ²μ²ν λ°λΌκ°λ³΄λ©΄μ μ΄ λ¬Έμ κ° μ£Όμ΄μ§ κ°μ μ 보λ₯Ό λ°νμΌλ‘ κ·Έλνμ ꡬ쑰λ₯Ό λΆμν΄μ κ° κ·Έλνμ μ νμΈ λλ, λ§λ, 8μ λͺ¨μμ μλ³νκ³ , μ€μμ μ μ°Ύμ κ·Έμ μ°κ²°λ κ° κ·Έλνμ κ°μλ₯Ό κ³μ°νλ λ¬Έμ λΌλ κ²μ νμ νμμ΅λλ€!
λ€μ PRλ νμ΄ν μ λλ·π
μ μ±μ€λ¬μ΄ μ½λ리뷰λ₯Ό λ°λΌκ°λ©° μλ‘μ΄ μ§μλ€μ λ°°μ°κ³ κ°λλ€ .. ! νμ΄μ¬μΌλ‘ νΈμ
¨λλ°λ μ 체μ μΈ κ΅¬μ‘°κ° λͺ
ννκ³ κ°λ
μ±μ΄ μ’μ κΈλ‘ μμ±ν΄μ£Όμ λΆλΆλ€μ λ°λΌ μ΄ν΄νκΈ° μ’μμ΅λλ€ :) |
π λ¬Έμ λ§ν¬
λλκ³Ό λ§λ κ·Έλν
[μ€λͺ ]
λλ λͺ¨μ κ·Έλν, λ§λ λͺ¨μ κ·Έλν, 8μ λͺ¨μ κ·Έλνλ€μ΄ μμ΅λλ€. μ΄ κ·Έλνλ€μ 1κ° μ΄μμ μ μ κ³Ό, μ μ λ€μ μ°κ²°νλ λ¨λ°©ν₯ κ°μ μΌλ‘ μ΄λ£¨μ΄μ§λ€.
μ무 μ μ μμ μΆλ°ν΄ μ΄μ©ν μ μλ κ°μ μ κ³μ λ°λΌκ°λ©΄ n-1κ°μ μ μ λ€μ νλ²μ© λ°©λ¬Έν λ€ μλ μΆλ°νλ μ μ μΌλ‘ λμμ€κ² λλ€.
8μ λͺ¨μ κ·Έλνλ ν¬κΈ°κ° λμΌν 2κ°μ λλ λͺ¨μ κ·Έλνμμ μ μ μ νλμ© κ³¨λΌ κ²°ν©ν ννμ΄λ€.
λλ λͺ¨μ κ·Έλν, λ§λ λͺ¨μ κ·Έλν, 8μ λͺ¨μ κ·Έλνκ° μ¬λ¬ κ° μμ΅λλ€. μ΄ κ·Έλνλ€κ³Ό 무κ΄ν μ μ μ νλ μμ±ν λ€, κ° λλ λͺ¨μ κ·Έλν, λ§λ λͺ¨μ κ·Έλν, 8μ λͺ¨μ κ·Έλνμ μμμ μ μ νλλ‘ ν₯νλ κ°μ λ€μ μ°κ²°νλ€.
κ·Έλνμ κ°μ μ 보λ₯Ό λ΄μ 2μ°¨μ μ μ λ°°μ΄ edgesκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§λλ€. μ΄λ, μμ±ν μ μ μ λ²νΈ, λλ λͺ¨μ κ·Έλνμ μ, λ§λ λͺ¨μ κ·Έλνμ μ, 8μ λͺ¨μ κ·Έλνμ μλ₯Ό μμλλ‘ 1μ°¨μ μ μ λ°°μ΄μ λ΄μ returnνλΌ.
μ νμ¬ν
1 β€ edgesμ κΈΈμ΄ β€ 1,000,000
edgesμ μμλ [a,b] ννμ΄λ©°, aλ² μ μ μμ bλ² μ μ μΌλ‘ ν₯νλ κ°μ μ΄ μλ€λ κ²μ λνλ λλ€.
1 β€ a, b β€ 1,000,000
λ¬Έμ μ 쑰건μ λ§λ κ·Έλνκ° μ£Όμ΄μ§λλ€.
λλ λͺ¨μ κ·Έλν, λ§λ λͺ¨μ κ·Έλν, 8μ λͺ¨μ κ·Έλνμ μμ ν©μ 2μ΄μμ λλ€.
βοΈ μμλ μκ°
40~45λΆ
β¨ μλ μ½λ
ν΄λΉ λ¬Έμ λ₯Ό μ νμ λ, μ¬λ¬ κ·Έλνμ 무κ΄ν μ μ (νΈμλ₯Ό μν΄ μ€μμ μ΄λΌκ³ λΆλ₯Όκ²μ!)
μ€μμ κ³Ό μ°κ²°λ κ° κ·Έλνμ λ Έλλ₯Ό νμν΄μ νλ³νλ€λ ν° νμ μ‘κ³ μμνμ΅λλ€.
ν΄λΉ μ μ ꡬνκΈ° μν΄μλ, μ€μμ μ΄ κ°μ§ νΉμ§μ μ΄ν΄λ³΄μμΌ ν©λλ€.
μ°μ κ°μ₯ λμ λλ μ μ, μ€μμ μ κ²½μ° ν΄λΉ μ μ κΈ°μ€μΌλ‘ λ°μΌλ‘ λκ°λ(outbound) edgeλ μ‘΄μ¬νμ§λ§ μμΌλ‘ λ€μ΄μ€λ (inbound) edgeλ μ‘΄μ¬νμ§ μλλ€λ μ μ κ΄μ°°ν μ μμ΅λλ€.
κ·Έλ λ€λ©΄ λ€λ₯Έ κ·Έλνμμλ μ΄λ¬ν κ²½μ°κ° μ μΌν κΉμ?
λλ λͺ¨μκ³Ό 8μ λͺ¨μμ κ²½μ°, cyclicν ꡬ쑰λ₯Ό κ°κΈ° λλ¬Έμ 무쑰건 λ€μ΄μ€λ edgeκ° μ‘΄μ¬ν©λλ€.
λ€λ§, λ§λ λͺ¨μμ κ²½μ° ν΄λΉ λ§λ κ·Έλνμ μμμ μ inbound edgeκ° μ‘΄μ¬νμ§ μμ΅λλ€.
κ·ΈλΌ μ€μμ κ³Ό λ§λ λͺ¨μ κ·Έλνμ μμμ μ λκ³ λ€μ κ΄μ°°ν΄ λ³ΌκΉμ?
μκΉ μμμ μΈκΈν μ νμ¬νμμ λλ λͺ¨μ κ·Έλν, λ§λ λͺ¨μ κ·Έλν, 8μ λͺ¨μ κ·Έλνμ μμ ν©μ 2μ΄μ μ΄λΌλ μ μ 쑰건μ μ£ΌμμΌλ―λ‘ μ€μ§μ μΌλ‘ μ€μμ μ outbound edgeλ λ°λμ 2 μ΄μμ λλ€. μ΄λ¬ν μμ±μ ν΅ν΄ μ€μμ μ μ°ΎμλΌ μ μμ΅λλ€.
κΈ°λ³Έμ μΌλ‘ λ¬Έμ λ₯Ό νκΈ° μν΄ μΈμ 리μ€νΈλ₯Ό ꡬμ±νλλ‘ μ λνλ€λ μ μ μ΄μ©νμ¬ BFSλ₯Ό μ μ©νκΈ°μ μ΅μ μ λ¬Έμ ꡬ쑰λΌλ μκ°μ΄ λ€μμ΅λλ€. νμ§λ§, 무μμ μνμ μ΄μ©ν΄μ νμ΄λ΄κΈ°λ³΄λ€λ ν΄λΉ κ·Έλνμ κ·μΉμ±μ ν΅ν΄μ μ΅μ νν μ μλ μ¬μ§κ° λΆλͺ μμ κ²μ΄λΌλ μκ°μΌλ‘ μ κ·Όνμ΅λλ€.
첫 λ²μ§Έλ‘, 8μ λͺ¨μ κ·Έλνμ κ²½μ°μλ μ΄λ€ μ μμλ inbound egdeκ° λ°λμ 2κ°μ΄λ©° outbound edgeμμ λ°λμ 2κ°λ‘ μ μ§λλ€λ νΉμ±μ΄ μμ΅λλ€.
μ΄λ₯Ό μν΄ λ€μκ³Ό κ°μ ifλ¬Έμ ν΅ν΄ νλ³ν©λλ€.
λλ¨Έμ§ λλ λͺ¨μ κ·Έλνμ λ§λ λͺ¨μ κ·Έλνλ₯Ό νλ¨νκΈ° μν΄μλ edgeμ κ°μλ‘λ μμλΌ μ μμ΅λλ€.
λ°λΌμ μ§μ bfsλ₯Ό νμνλ, λ§λ λͺ¨μ κ·Έλνλ λ μ΄μ μ§ν λΆκ°λ₯ν λ μ§μ μ λ Έλκ° μ‘΄μ¬νλ€λ μ μ μ΄μ©νλ©΄ νλ³ν μ μλ€κ³ μκ°νμ΅λλ€.
μλμ κ°μ΄ κΈ°λ³Έμ μΈ BFSμ 골μλ₯Ό κ·Έλλ‘ λ°λ₯΄λ, λ μ§μ μ λλ¬ν κ²½μ°(inbound edgeκ° μ‘΄μ¬νμ§ μμ) λ§λ κ·Έλνλ‘ νλ¨νλλ‘ λ‘μ§μ μμ±νμμ΅λλ€.
κ²°κ΅ μ λκ°μ§μ ν΄λΉλμ§ μλλ€λ©΄ λλ λͺ¨μ κ·Έλνλ‘ νλ¨νλ©΄ λ©λλ€.
μ¬μ€ ν΄λΉ ν¬μΈνΈλ₯Ό μ°ΎκΈ° μν΄μ μκ°μ΄ μ‘°κΈ μμλμλλ°μ, λ€λ₯Έ κ·Έλνμ λ Έλλ₯Ό κΈ°μ€μΌλ‘ inbound ννλ‘ μ°κ²°λκΈ° λλ¬Έμ
κ·Έλνμ κ³ μ ν κ·μΉμ μν₯μ μ€ μ μμ΅λλ€.
λ°λΌμ bfs νμ μ§μ μ ν΄λΉ outbound egdeλ₯Ό μ κ±°ν΄ μ£Όμ΄μΌ μ£μ§ μΌμ΄μ€ μ²λ¦¬κ° κ°λ₯ν©λλ€.
μ 체 μ½λ
π μλ‘κ² μκ²λ λ΄μ©
μ λ§ μ€λλ§μ 볡κ·ν΄λ΄ λλ€..! PRμ΄ μμ² μμ¬μλλ° κΌ¬λ° λ¦¬λ·°ν΄λ³΄λλ‘ ν κ²μπ
μΉ΄μΉ΄μ€ μ΄λ° λ¬Έμ κ°μ΄ λ¬Έμμ΄μ΄λ κΉλ€λ‘μ΄ μ²λ¦¬κ° νμν κ²½μ°μλ μ΄μ© μ μμ΄ νΈν νμ΄μ¬μ μ°κ² λλ€μ..γ γ
κΈ΄ λ¬Έμ λ₯Ό μ°¨λΆν μ½κ³ κΉλνκ² μ΄ν΄νλ κ² μ€μν κ² κ°μ΅λλ€!