λ¬Έμ μ€λͺ
μ£Όμ΄μ§ μ«μ μ€ 3κ°μ μλ₯Ό λνμ λ μμκ° λλ κ²½μ°μ κ°μλ₯Ό ꡬνλ €κ³ ν©λλ€. μ«μλ€μ΄ λ€μ΄μλ λ°°μ΄ numsκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ,
numsμ μλ μ«μλ€ μ€ μλ‘ λ€λ₯Έ 3κ°λ₯Ό κ³¨λΌ λνμ λ μμκ° λλ κ²½μ°μ κ°μλ₯Ό return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- numsμ λ€μ΄μλ μ«μμ κ°μλ 3κ° μ΄μ 50κ° μ΄νμ λλ€.
- numsμ κ° μμλ 1 μ΄μ 1,000 μ΄νμ μμ°μμ΄λ©°, μ€λ³΅λ μ«μκ° λ€μ΄μμ§ μμ΅λλ€.
μ μΆλ ₯ μ
μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ #1
- [1,2,4]λ₯Ό μ΄μ©ν΄μ 7μ λ§λ€ μ μμ΅λλ€.
μ μΆλ ₯ μ #2
- [1,2,4]λ₯Ό μ΄μ©ν΄μ 7μ λ§λ€ μ μμ΅λλ€.
- [1,4,6]μ μ΄μ©ν΄μ 11μ λ§λ€ μ μμ΅λλ€.
- [2,4,7]μ μ΄μ©ν΄μ 13μ λ§λ€ μ μμ΅λλ€.
- [4,6,7]μ μ΄μ©ν΄μ 17μ λ§λ€ μ μμ΅λλ€.
βοΈ νμ΄
func isPrime(_ n: Int) -> Bool {
for i in 2..<n {
if n % i == 0 {
return false
}
}
return true
}
μμμΈμ§ νλ³νλ ν¨μ
π 2λΆν° ν΄λΉ μ«μλ³΄λ€ μμ μκΉμ§ λ°λ³΅
π νλλΌλ λλμ΄λ¨μ΄μ§λ©΄ μμκ° μλ κ²μΌλ‘ νλ³
func solution(_ nums:[Int]) -> Int {
var answer = 0
for i in 0...nums.count - 3 {
let first = nums[i]
for j in i+1...nums.count - 2 {
let second = nums[j]
for k in j+1...nums.count - 1 {
let third = nums[k]
if isPrime(first + second + third) {
answer += 1
}
}
}
}
return answer
}
μ°μ numsμ μ€λ³΅λ μ«μκ° μλ€λ μ ν μ¬νμ΄ μκΈ° λλ¬Έμ μ€λ³΅ μ‘°ν© νμΈ μ½λλ μλ€.
μΈ κ°μ μ€μ²© λ°λ³΅λ¬Έμ μ¬μ©νμ¬
1. λ°°μ΄μ 첫λ²μ§Έ μμ ~ λ€μμ μΈλ²μ§Έ μμ
2. μ νλ μμμ λ€μ μμ ~ λ€μμ λλ²μ§Έ μμ
3. 2λ²μ μ νλ μμμ λ€μ μμ ~ λ§μ§λ§ μμ
μ΄λ κ² λ°λ³΅νμ¬ κ°κ°μ μμλ₯Ό νλμ© μ ν ν κ° λ°λ³΅λ¬Έμμ μ νλ μ«μμ ν©μ νμΈνλ€.
μ€λ³΅λ μ‘°ν©μ μμ±νμ§ μλ μ΄μ λ 첫λ²μ§Έ μ«μλ λ°°μ΄μ λ§μ§λ§ λ μ«μ μ€ νλκ° λ μ μλ€.
λ λ²μ§Έ μ«μλ 첫 λ²μ§Έ μ νλ μ«μ μ΄νμ μμ μ€ νλμ΄κ³ λ§μ§λ§ μ«μλ μ νλ μ μλ€.
μΈ λ²μ§Έ μ«μλ μμ λ μ«μ μ΄νλΆν° λ§μ§λ§ μμ μ€ νλμ΄λ€.
μμ λ§νλ―μ΄ μ νμ¬νμ λ°°μ΄ μμ μ€λ³΅λ μ«μκ° μκ³ , μΈ μ«μκ° λͺ¨λ λ€λ₯΄κ² μ νλκΈ° λλ¬Έμ μ€λ³΅μ‘°ν©μ΄ λ°μνμ§ μλλ€!
'Devlogπ©π»βπ» > Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift] νλ‘κ·Έλλ¨Έμ€ Lv.1 : λͺ¨μκ³ μ¬ (4) | 2024.05.01 |
---|---|
[Swift] νλ‘κ·Έλλ¨Έμ€ Lv.1 : νΈλ νμ΄νΈ λν (1) | 2024.03.20 |
[Swift] νλ‘κ·Έλλ¨Έμ€ Lv.1 : μ½λΌ λ¬Έμ (1) | 2024.03.20 |
[Swift] νλ‘κ·Έλλ¨Έμ€ Lv.1 : κ³ μ°¨ν¨μ μ°μ΅ (2) | 2024.02.15 |
[Swift] νλ‘κ·Έλλ¨Έμ€ Lv.1 : μλ¦Ώμ λνκΈ° (2) | 2024.02.13 |