[Swift] μ€μννΈ μ λ ¬ sorted() μ sort() μ°¨μ΄μ
μλ νμΈμ, κ°μμ λλ€. μ€μννΈμμλ κΈ°λ³Έμ μΌλ‘ λ°°μ΄μ΄λ λ¬Έμμ΄ λ±μ μ λ ¬ν΄μ£Όλ λ©μλ sort κΈ°λ₯μ μ§μνλλ°μ. sort()μ sorted() λκ°μ§κ° μμ΅λλ€. λκ°μ§μ μ°¨μ΄μ μ λν΄μ μκΎΈμκΎΈ κΉλ¨Ήμ΄μ μ 리ν΄λ³΄λ €κ³ ν©λλ€.
1. sort(by: )
λ¨Όμ sort(by: ) λ©μλλ κΈ°λ³Έμ μΌλ‘ μ€λ¦μ°¨μ μ λ ¬μ μ§μν©λλ€. λ΄λ¦Όμ°¨μ μ λ ¬μ μ¬μ©νκ³ μΆλ€λ©΄, sorted(by: >) λ₯Ό μ¬μ©ν©λλ€.
var arr = [133, 2, 321, 5423, 4]
arr.sort()
print(arr) // [2, 4, 133, 321, 5423]
arr.sort(by: >)
print(arr) // [5423, 321, 133, 4, 2]
sort() λ©μλλ μ μ리μμ μ λ ¬νκΈ° λλ¬Έμ arr.sort()νλ©΄ μ λ ¬λ λ°°μ΄μ΄ λ€μ return λμ§ μμ΅λλ€.
(ν΄λΉ λ©μλμ μκ°λ³΅μ‘λλ O(nlogn)μ΄κ³ nμ collectionμ κΈΈμ΄)
2. sorted(by: )
sorted(by: ) λ©μλλ λ§μ°¬κ°μ§λ‘ μ€λ¦μ°¨μμ μ§μνλ©°, sorted(by: >)λ₯Ό μ¬μ©νλ©΄ λ΄λ¦Όμ°¨μμΌλ‘ μ¬μ©κ°λ₯ν©λλ€. sorted() λ©μλλ μΆκ°λ‘, μ λ ¬λ λ°°μ΄μ λ€μ 리ν΄ν΄μ€λ€λ μ μμ sortμ μ°¨μ΄μ μ΄ μμ΅λλ€.
var arr = [133, 2, 321, 5423, 4]
arr.sorted()
print(arr) // [133, 2, 321, 5423, 4]
μ μ½λλ₯Ό 보면, sorted() ν΄μ μ λ ¬μ νμ§λ§, μ λ ¬λ λ°°μ΄μ return λ§ νκ³ , arr μ체λ₯Ό μ λ ¬ν΄μ μ¬μ©νμ§ μκΈ° λλ¬Έμ arrλ₯Ό μΆλ ₯ν΄λ³΄λ©΄, μ²μμ μ μλ κ·Έλλ‘ μΆλ ₯λ©λλ€. λ°λΌμ sorted() λ₯Ό μ¬μ©νκΈ° μν΄μ , μλ‘μ΄ λ³μμ μ μ₯ν΄μ μ¬μ©νλ λ°©μμ μ¬μ©νλ©΄ λ©λλ€.
var arr = [133, 2, 321, 5423, 4]
var newArr = arr.sorted()
print(newArr) //[2, 4, 133, 321, 5423]
μκ° λ³΅μ‘λλ sort() λ©μλμ λμΌν©λλ€.
λ€μ μ 리νμλ©΄, sort() λ λ°°μ΄ μ체λ₯Ό μ λ ¬, sorted() λ μ λ ¬λ λ°°μ΄μ μλ‘κ² λ¦¬ν΄ ν΄μ€. μ΄λ κ² μ°¨μ΄κ° μμ΅λλ€. λ°°μ΄μ μμκ° μ€μν μ½λλ₯Ό μμ±ν λ, sort() λ₯Ό μ¬μ©νκ² λλ©΄ λ°°μ΄μ체μ μμλ₯Ό λ°κΏλ²λ¦¬κΈ° λλ¬Έμ μ¬κ°ν λ¬Έμ κ° λ°μν μ μμ΅λλ€. νμ§λ§ sorted()λ κ°μ 볡μ νμ¬ μλ‘μ΄ λ°°μ΄μ μμ±ν΄μ 리ν΄νκΈ° λλ¬Έμ, λ©λͺ¨λ¦¬κ° λλ°°λ‘ μ¬μ©λλ€λ μΉλͺ μ μΈ λ¨μ μ΄ μμ΅λλ€.
μ΄λ€ μν©μμ sorted / sort λ₯Ό μ¬μ©νλλμ λ°λΌ μ±λ₯μ μ°¨μ΄λ λ°μνκ² λ€μ.