π λ¬Έμ
https://www.acmicpc.net/problem/17427
μλ λ΄κ° λ¬Έν΄λ ₯μ΄ μ§μ§ λΈλ¦¬λ건κ°? λ¬Έμ μ΄ν΄κ° μ μλΌ γ γ γ γ μ΄μ¨λ μ΄κ²λ λ¬Έμ μΈλ²μ λ μ λ νκ³ λ¬Έμ μ΄ν΄ μλ£νκ³ νμ΄μμ
π 1μ°¨μμ μΈ μ½μꡬν΄μ λνλ νμ΄, μκ°μ΄κ³Ό
π λΉμ°ν μκ°μ΄κ³Ό λκ² λλ°?
λΉμ°νκ² μκ°ν 1μ°¨μμ νμ΄κ°, Nλ³΄λ€ μμ μμ λͺ¨λ μ½μλ₯Ό ꡬν΄μ ν©μ ꡬνλ©΄ λκ² κ΅¬λ μκ°νλ€. κ·Έλ¬κ³ μ΄λ κ² νλ©΄ μ΄μ€forλ¬Έμ΄ λ€μ΄κ°κ² λκ³ , sumμ νλ κ³Όμ μμ λ forλ¬Έμ΄ λ€μ΄κ°λλ°, μκ°μ΄κ³Όκ° μλ κΉ? νκ³ λ²μλ₯Ό μ΄ν΄λ΄€λλ°,, Nμ λ²μλ,,,,μ΅λ 100λ§...! λ§λμλΌ, μ΄μ€forλ¬Έμ΄ λμκ°μ 100λ§ * 100λ§μ΄λ©΄,,, μ΄μ° μμλ νκ³ μΆμ§ μμ 루νκ° μμ±λλ€.
import Foundation
private func solution() -> Int {
let N = Int(readLine()!)!
var sum = 0
for i in 1..<N+1 {
var div = [Int]()
for j in 1..<i+1 {
if i == j {
div.append(i)
break
}
if i % j == 0 {
div.append(j)
}
}
for d in div {
sum += d
}
}
return sum
}
print(solution())
μμ²λΌ νμκ³ , λΉμ°νκ² μκ°μ΄κ³Όκ° λ¬λ€. μ€μ λ‘ xcode λ‘컬μμ λλ €λ³΄λλ°λ 10000μ΄ λ€μ΄κ°λ μμ²λ μκ°μ΄ μμλλ€. γ γ γ γ
μ, κ·ΈλΌ μ΄μ λ€λ₯Έ κ·μΉμ μ°Ύμ보μ, forλ¬Έμ μ΅μννκ³ , ꡬν΄μΌνλ€.
π μ΄λ° κ²μ μνμ μΈ μΈ‘λ©΄μΌλ‘ λ€κ°κ°μΌν΄!
λ°λ‘ λ μ€λ₯΄μ§ μμμ N=10 μΌλλ₯Ό μ λΆ μ μ΄λ³΄μλ€. μ¬κΈ°μ g(N)μ ꡬνλ €λ©΄, 1μ 10κ°, 2λ 5κ°, 3μ 3κ°, 4λ 2κ°,, μ΄λ κ² λμλ€. κ·μΉμ μ°Ύμ보면? 10μ 1λ‘ λλ λͺ«μ 1μ κ³±ν΄μ£Όκ³ , 10μ 2λ‘ λλ λͺ«μ 2μ κ³±ν΄μ£Όκ³ , 10μ 3μΌλ‘ λλ λͺ«μ 3μ κ³±ν΄μ£Όκ³ ,, μ λΆ λν΄μ£Όλ©΄ g(N)μ΄ λμ€λ κ²μ΄λ€. μ μ΄λ° κ·μΉμ΄ λμ¬κΉ?
λ°λ‘, μλμ κ°μ κ·μΉ λλ¬Έμ΄μλ€.
1μ λ°°μλ νμ 1μ μ½μλ‘ κ°λλ€
2μ λ°°μλ νμ 2λ₯Ό μ½μλ‘ κ°λλ€
3μ λ°°μλ νμ 3μ μ½μλ‘ κ°λλ€
4μ λ°°μλ νμ 4λ₯Ό μ½μλ‘ κ°λλ€
...
10μ λ°°μλ νμ 10μ μ½μλ‘ κ°λλ€.
Nμ λ°°μλ νμ Nμ μ½μλ‘ κ°λλ€.
μ΄ κ·μΉ λλ¬Έμ΄μλ€. κ·Έλμ 1μ λ°°μκ° 10λ΄λΆμ 10κ°λκΉ, 1μ 10κ° κ°λ κ²μ΄κ³ , 2μ λ°°μλ 10 λ΄λΆμ 5κ°λκΉ, 2λ₯Ό 5κ° κ°λ κ²μ΄μλ€. μ΄ κ·μΉμ μ¬μ©νλ©΄ forλ¬Έμ νλ²λ§ μ¬μ©μ΄ κ°λ₯νλ€. μ¦, O(N) μ μκ°λ³΅μ‘λλ‘ μ λ΅μ ꡬν μ μλ€.
π μ λ΅
private func solution() -> Int {
let N = Int(readLine()!)!
var sum = 0
for i in 1..<N+1 {
sum += (N / i) * i
}
return sum
}
print(solution())
'Algorithm > Baekjoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] (Swift) 2609λ² - μ΅λ곡μ½μμ μ΅μ곡배μ (0) | 2022.12.25 |
---|---|
[λ°±μ€] (Swift) 17425λ² - μ½μμ ν© (0) | 2022.12.23 |
[λ°±μ€] (Swift) 1037λ² - μ½μ (0) | 2022.12.23 |
[λ°±μ€] (Swift) 11403λ² - κ²½λ‘μ°ΎκΈ° (DFSλ‘ νκΈ°) (2) | 2022.09.19 |
[λ°±μ€] (Swift) 1654λ² - λμ μλ₯΄κΈ° (feat. μ΄λΆνμ) (0) | 2022.09.04 |