μ 체 κΈ67 [Week03] μκ³ λ¦¬μ¦ - μ λμ¨ νμΈλ νΈλ¦¬ νμ μκ³ λ¦¬μ¦ - μ λμ¨ νμΈλ Union Find β κ°λ / μ리 : λνμ μΈ νΈλ¦¬ μκ³ λ¦¬μ¦ : ν©μ§ν© μ°ΎκΈ°, μλ‘μ μ§ν© μκ³ λ¦¬μ¦ μ΄λΌκ³ λ λΆλ₯Έλ€. μ λμ¨ νμΈλλ μ§ν©(set)μ ν©νκΈ°μν μ°μ°μ΄λ€. μ뱑ν₯ μ°κ²° 리μ€νΈλ₯Ό μ¬μ©ν΄ ν©μ§ν© μ°μ° ꡬνμ΄ κ°λ₯νμ§λ§ μμ 볡μ‘λκ° μμ’μ νΈλ¦¬ ννλ₯Ό νμ©νλ€. λΆλͺ¨λ₯Ό κ°λ₯΄ν€λ νΈλ¦¬μ²λΌ λ§ν¬λ₯Ό λ§λ€μ΄ μ§ν©μ νννλ€. νλμ νΈλ¦¬κ° νλμ setμ΄λ©° νΈλ¦¬μ parentsλ₯Ό μ°Ύμ μ¬λΌκ° 루νΈλ₯Ό λ§λλ©΄ 루νΈκ°μ΄ μ§ν©μ λνκ°μ΄λ€. λκ°μ μ§ν©μ 루νΈκ°μ μ°Ύμμ(find) 루νΈκ°μ΄ λ€λ₯΄λ©΄ νλμ νΈλ¦¬λ‘ λ§λ λ€.(union) > νΈλ¦¬ λμ΄ hλ§νΌμ μκ° λ³΅μ‘λλ₯Ό κ°λλ€. μ§ν©μ ν©μ§ν© μν¨λ€λ κ°λ μ μκ°νλ©΄ λ¬Έμ νλ ν·κ°λ €μ μ£Όμ΄μ§ κ·Έλνμ 루νΈλ₯Ό μ°Ύλ .. 2022. 4. 20. [Week02] μκ³ λ¦¬μ¦ - ν (feat. python) λͺ¨λ : ν¨μ,λ³μ λλ ν΄λμ€λ€μ λͺ¨μλμ νμΌ - νμΌλͺ μ΄ λͺ¨λλͺ μ΄ λλ€. if __name__ == "__main__" μ μλ―Έ π pythonμ cλ javaμ λ€λ₯΄κ² μ€ν¬λ¦½νΈ κΈ°λ° μΈν°νλ¦¬ν° μΈμ΄λ‘ νΉλ³ν μμ μ§μ μ΄ λͺ μκ° λμ΄μμ§ μμ μΈμ΄μ΄λ€. κ·Έλμ νΉλ³ν λ³μλ₯Ό ν λΉνμ¬ νμ¬ μ€νΈλ¦½νΈμ μμμ μ΄ μ΄λμΈμ§ νλ¨νλλ° κ·Έ λ³μλ‘μ μ΄μ©νλ κ²μ΄ __name__ μ΄λ€. νμΌ μ€νμμλ __name__ λ³μμ "__main__"μ μ μ₯νκ² λμ§λ§ ν΄λΉ λͺ¨λμ΄ import λ κ²½μ° λ³μμ "λͺ¨λλͺ "μ΄ λ€μ΄κ°κΈ°λλ¬Έμ if __name__ == "__main__" λ¬Έμ μ€νλμ§μλλ€. __init__μ μλ―Έ π μμ±μμ μλ―Έ ( μ¬κΈ°μ selfλ μΈμ€ν΄μ€ μμ , λ©μλμ μμμ μΈμ μ λμ μλ―Έλ₯Ό .. 2022. 4. 14. [Week02] μκ³ λ¦¬μ¦ - μ΄λΆνμ [Week02] μκ³ λ¦¬μ¦ ν€μλ - μ΄λΆνμ, λΆν μ 볡, μ€ν, ν, μ°μ μμ ν κ²μ μκ³ λ¦¬μ¦ - μ ννμ / μ΄λΆ νμ μ΄λΆνμ μ λ ¬μ΄ λμ΄μλ λ°°μ΄μμ νΉμ λ°μ΄ν°λ₯Ό μ°ΎκΈ° μν΄μ λͺ¨λ λ°μ΄ν°λ₯Ό μμ°¨μ μΌλ‘ νμΈνλ λμ νμμ λ²μλ₯Ό μ λ°μΌλ‘ μ€μ¬λκ°λ νμ λ°©λ² μ΄λΆνμ μ¬μ©μ μ£Όμμ¬ν μ£Όμ΄μ§ λ°°μ΄μ μ λ ¬λμ΄μμ΄μΌνλ€. 무ν 루νμ λΉ μ§μ§μκ² midκ°μ μ μ§μ ν΄μ€λ€ μ°¨λ‘λ‘ μ¦κ°(νΉμ κ°μ)μν€λ©΄μ νμ΄μΌνλ νμλ¬Έμ μ ν° μμ λ²μκ° μ£Όμ΄μ§λ€λ©΄ μ΄λΆνμμ λ μ¬λ €λ³΄μ. μκ°λ³΅μ‘λ O(logN) β μ΄λΆνμ ꡬννκΈ° whileλ¬Έμ μ΄μ©νμ¬ κ΅¬ν def binary_serch(a,n_list) : st = 0 en = n-1 while st a : en = mid -1 else : st = mid + .. 2022. 4. 9. [Week01] μκ³ λ¦¬μ¦ - μ λ ¬01 μ λ ¬01 β νμ΄μ¬ λ΄μ₯ν¨μ arr.sort() : μ€λ¦μ°¨μ μ λ ¬ arr.sort(reverse = True) : λ΄λ¦Όμ°¨μ μ λ ¬ #λ°±μ€11650 - keyκ°μΌλ‘ μ λ ¬ arr = [] for _ in range(int(input())): arr.append(list(map(int, input().split()))) arr.sort(key=lambda x:(x[0], x[1])) #x[0]μ ν¬κΈ°λ₯Ό κΈ°μ€μΌλ‘ μ λ ¬, κ°μ΄ κ°λ€λ©΄ x[1]μΌλ‘ λΉκ΅ for e in arr: print(str(e[0]) + " " + str(e[1])) β λ²λΈ μ λ ¬ : μλ‘ μΈμ ν λ μμλ₯Ό κ²μ¬νμ¬ μ λ ¬νλ€. (swap) μκ°λ³΅μ‘λ O(N^2) def bubble_sort(arr): for i in range(len(arr) .. 2022. 4. 9. [Week01] μκ³ λ¦¬μ¦ - μ¬κ·ν¨μ [Week01] μκ³ λ¦¬μ¦ ν€μλ - μ μλ‘ , λ°°μ΄, λ¬Έμμ΄, μ¬κ·ν¨μ, μ λ ¬, μμ νμ, μκ°λ³΅μ‘λ μ¬κ·ν¨μ μμ λ¬Έμ μ ν΄κ²°λ²μ μ¬μ©ν΄μ λ ν° λ¬Έμ λ₯Ό νΌλ€ μ μ°¨μ μ§ν₯μ μ¬κ³ λ₯Ό λ²λ¦¬κ³ μνμ κ·λ©λ°©μμΌλ‘ μκ°νκΈ° μ νμ(λκ°μ ν μ¬μ΄μ μ±λ¦½νλ κ΄κ³)κ³Ό μ΄ν ꡬνκΈ° loop(λ°λ³΅λ¬Έ)μ recursion(μ¬κ·)μ μλ‘ λ³νμ΄ κ°λ₯νλ€ μ¬κ·ν¨μλ μκΈ°μμ μ λΆλ₯΄λ ν¨μμ΄κΈ° λλ¬Έμ μ μ°¨μ μΌλ‘ μ½λλ₯Ό μ«μκ°λ©΄ ν·κ°λ¦΄ μ λ°μ μλ€. κ·λ©λ²μ μΌλ‘ μκ°ν μ μλ€λ©΄ μ΄μμ μ΄μ§λ§, νλ€λ€λ©΄ μ²μ λΆλ λ ν¨μμ κ·Έ μμμ λΆλ₯Έ ν¨μ, κ·Έ μμμ λΆλ₯Έ ν¨μ λ€λ€λ₯Έ νμλΌκ³ μκ°νκ³ ν¨μμΈμμ depthλ₯Ό μ μ΄κ°λ©΄μ μ΄λ»κ² λμκ°λμ§ νλνλ μ«μκ°λ κ²λ μ΄ν΄νλ λ°©λ² μ€ νλμ΄λ€. ꡬνλ°©λ² 1. λ¬Έμ μ μ μλ₯Ό μ .. 2022. 4. 7. [SWμ¬κ΄νκ΅ μ κΈ] λλ₯Ό λμ보λ μκ° μμΈμ΄ κ³Όκ±°μ λν μ±μ°° μ§λμ¨ μκ°μ λμ΄μΌλ³΄λ©΄ λλ λμ νκΈ°λ³΄λ¨ νμ μμ μ μΈ μ ννμλ€. λΉμμλ λ΄κ° μμ μ μΈ μΆμ μΆκ΅¬νλ μ¬λμ΄λΌ μκ°νμλλ° μ§κΈ λλμ보면 μ€ν¨νλκ² λλ €μμ μμ μ μΈ κ²μ μ’μνλ€κ³ μ€μ€λ‘ ν©λ¦¬νλ₯Ό νλκ²κ°λ€. κ°λ°μκ° λκ³ μΆλ€λ μκ°μ κ³μνμμΌλ μ°λ¬λ³΄κΈ°μμΌλ‘λ§ νκ³ μ¬λλ‘ λμ νμ§ λͺ»νμ± λͺλ μ΄ νλ λ€. νμ¬λ₯Ό κ΄λκ³ μ κΈμ μ μνκ²μ λμκ² ν° λμ μ΄μλ€. λμκ² μ£Όμ΄μ§ μ΄λ¬ν κΈ°νλ₯Ό μμ€ν μ¬κΈ°κ³ νννμ§ μλλ‘ μ΅μ μ λ€ν κ²μ΄λ€. 5κ°μ λμ μ»μ΄κ°κ³ μΆμ κ² π€ μ κΈμ ν΅ν΄ λ§μ κ²λ€μ μ»μ΄κ° μ μκ² μ§λ§ κ°μ₯ μ€μνκ²μ κ°λ°μλ‘μ μ’μ μ΅κ΄μ λ€μ΄λκ²μ΄λΌ μκ°νλ€. μ’μ νκ²½μμ 곡λΆνλ λ°©μ, κ°λ°μμ μ¬κ³ λ± μ’μ μ΅κ΄μ λ€μ¬μ μ κΈ νμλ μ§μμ μΌλ‘ λ°μ κ°λ₯ν.. 2022. 4. 2. μ΄μ 1 Β·Β·Β· 8 9 10 11 12 λ€μ