μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- λΆν νμ
- μ½λ©ν μ€νΈ
- μ ν΄λ¦¬λ νΈμ λ²
- μ€ν
- ios
- μκ³ λ¦¬μ¦
- Queue
- SwiftUI
- 그리λ μκ³ λ¦¬μ¦
- BFS
- λΉνΈμ°μ°μ
- λΈλ£¨νΈν¬μ€ μκ³ λ¦¬μ¦
- λμ ν©
- WebView
- Swift
- λ°±νΈλνΉ
- λΈλ£¨νΈν¬μ€
- λΆν μ 볡
- νλ‘κ·Έλλ¨Έμ€
- WebApp
- λ°±μ€
- λ¬Έμμ΄
- μ½ν
- μ΄μ§νμ
- λΆν μ 볡
- μμ
- dfs
- dp
- Today
- Total
MUKER_DEV with iOS
[swift] νλ‘κ·Έλλ¨Έμ€ - μ«μ μ§κΏ λ³Έλ¬Έ
νλ‘κ·Έλλ¨Έμ€
μ½λ μ€μ¬μ κ°λ°μ μ±μ©. μ€ν κΈ°λ°μ ν¬μ§μ 맀μΉ. νλ‘κ·Έλλ¨Έμ€μ κ°λ°μ λ§μΆ€ν νλ‘νμ λ±λ‘νκ³ , λμ κΈ°μ κΆν©μ΄ μ λ§λ κΈ°μ λ€μ λ§€μΉ λ°μΌμΈμ.
programmers.co.kr
λ¬Έμ νΈλ λ° μμ΄ λμμ΄ λλλ‘ λμ νμ΄μ κ°μ λ νμ΄λ₯Ό μ¬λ¦½λλ€.
λν νμ΄ ν λ€λ₯Έ μ¬λμ νμ΄λ₯Ό λ³΄κ³ μ°Έκ³ ν λ§ν νμ΄λ μ¬λ¦½λλ€.
- λ¬Έμ μ λ°λΌ λμ νμ΄λ§ μμ μ μμ΅λλ€.
- ν΄λΉ νμ΄λ€μ νμ΄ μ€ νλμΌ λΏ μ΅μ μ νμ΄λ μλ μ μμ΅λλ€.
λ¬Έμ μ€λͺ
1. λ λ¬Έμμ΄μ λΉκ΅νμ¬ λͺ¨λ ν¬ν¨νλ λ¬Έμλ₯Ό μ°Ύλλ€.
2. ν¬ν¨νλ νμλ§νΌ 리ν΄νλ€(λ¬Έμμ΄λ‘).
3. μ°Ύμ λ¬Έμκ° "0"μΌλ‘λ§ κ΅¬μ±λμ΄ μλ€λ©΄ "0"μ λ°ννλ€.
4. λͺ¨λ ν¬ν¨νλ λ¬Έμκ° μλ€λ©΄ "-1"μ λ°ννλ€.
5. μ°Ύμ λ¬Έμλ λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬νλ€.
첫 λ²μ§Έ νμ΄(μ€ν¨)
import Foundation
func solution(_ X:String, _ Y:String) -> String {
var myX = X.filter { Y.contains($0) }.sorted(by: >)
var myY = Y.filter { X.contains($0) }.sorted(by: >)
var result = [Character]()
if myY.isEmpty && myX.isEmpty { return "-1" }
for i in myX {
if myY.contains(i) {
result.append(i)
myY.remove(at: myY.firstIndex(of: i)!)
}
}
if result.reduce(0, { $0 + Int(String($1))! }) == 0 { return "0" }
return String(result)
}
첫 λ²μ§Έ νμ΄μ λλ€.
μκ°μ νμ κ±Έλ € μ€ν¨νμ΅λλ€.
λ λ²μ§Έ νμ΄(μ€ν¨)
import Foundation
func solution(_ X:String, _ Y:String) -> String {
var myX = [Character: Int]()
var result = [String]()
for i in X {
if myX[i] == nil { myX[i] = 1 }
else { myX[i]! += 1 }
}
for i in Y {
if myX[i] == nil || myX[i] == 0 { continue }
else { result.append(String(i)); myX[i]! -= 1 }
}
if result.isEmpty { return "-1" }
if result.allSatisfy({ $0 == "0" }) { return "0" }
return result.sorted(by: >).joined()
}
κ³ μ°¨ν¨μλ₯Ό λΉΌκ³
μ΅λν κ°κ²°νκ² μ½λλ₯Ό μ§λ³΄λ € λ Έλ ₯νμ§λ§
μμ μκ°μ νμ κ±Έλ Έμ΅λλ€.
μΈ λ²μ§Έ νμ΄(μ λ΅)
import Foundation
func solution(_ X:String, _ Y:String) -> String {
var myX = [Character: Int]()
var myY = [Character: Int]()
var result = [String]()
for i in X { myX[i] = (myX[i] ?? 0) + 1 }
for i in Y { myY[i] = (myY[i] ?? 0) + 1 }
for i in myX.keys {
result += Array(repeating: String(i), count: min(myX[i] ?? 0, myY[i] ?? 0))
}
if result.isEmpty { return "-1" }
if result.allSatisfy({ $0 == "0" }) { return "0" }
return result.sorted(by: >).joined()
}
Yλ λμ λλ¦¬λ‘ λ§λ€μ΄λ΄€μ΅λλ€.
λλ²μ§Έ νμ΄μμλ
Yλ₯Ό λμ λλ¦¬λ‘ λ§λ€μ΄μ νΈλ거보λ€
Yλ₯Ό νμνλ©° νλ²μ Xλ₯Ό λΉκ΅ν΄ νΈλκ² λΉ λ₯΄λ€ μκ°νλλ°
μ€νλ €
Y λμ λ리λ₯Ό νλ λ§λ€κ³
X λμ λ리λ₯Ό νμνλ©° λΉκ΅νλλ
μκ°μ νμ ν΅κ³Όν μ μμμ΅λλ€.
μ°Έκ³ ν λ§ν νμ΄
import Foundation
func solution(_ X:String, _ Y:String) -> String {
let arr1 = Array(X)
let arr2 = Array(Y)
let uniqueKey = Set(arr1).intersection(Set(arr2))
var answer = ""
for key in uniqueKey.sorted(by: >) {
answer += String(repeating: key, count: min(arr1.filter{$0 == key}.count, arr2.filter{$0 == key}.count))
}
return answer == "" ? "-1" : ((uniqueKey.count == 1 && uniqueKey.contains("0")) ? "0" : answer)
}
μ’μμκ° λ§μλ νμ΄μΈλ°μ.
intersectionν¨μλ₯Ό μ²μ λ΄μ κ°μ Έμλ΄€μ΅λλ€.
let uniqueKey = Set(arr1).intersection(Set(arr2))
ν΄λΉν¨μλ
Set(arr1)μ Set(arr2)λ₯Ό λΉκ΅ν΄
μ€λ³΅λλ κ°μ μλ‘μ΄ SetμΌλ‘ 리ν΄ν΄μ€λλ€.
νμ§λ§ μκ°μ νμ μλ―Όν 11~15λ² ν μ€νΈμΌμ΄μ€μμ
μ½ 9μ΄κ° λμ€λ©΄μ μμ¬μμ¬νκ² ν΅κ³Όνλ λͺ¨μ΅μ 보μ λλ€.
'π€ μκ³ λ¦¬μ¦ > programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[swift] νλ‘κ·Έλλ¨Έμ€ - μΉμμ΄ (2) (0) | 2023.02.13 |
---|---|
[swift] νλ‘κ·Έλλ¨Έμ€ - μ κ³ κ²°κ³Ό λ°κΈ° (0) | 2023.02.10 |
[swift] νλ‘κ·Έλλ¨Έμ€ - 체μ‘볡 (0) | 2023.02.07 |
[swift] νλ‘κ·Έλλ¨Έμ€ - λͺ μμ μ λΉ (1) (0) | 2023.02.06 |
[swift] νλ‘κ·Έλλ¨Έμ€ - νλ²κ±° λ§λ€κΈ° (0) | 2023.02.03 |