Bibi's DevLog π€π
[λ°±μ€ 2355] μκ·Έλ§ λ³Έλ¬Έ
μκ·Έλ§ κ³΅μμ νμ©νλ λ¬Έμ .
κ°μ°μ€ λ§μ 곡μ, μκ·Έλ§ (β)
μ²μμλ λ°λ³΅λ¬ΈμΌλ‘ νμλλ° λ무 μ¬μμ μ΄μνλ€ νλλ λ°νμ μλ¬κ° λ°μνλ€.
- μκ°μ νμ 걸리면 νλ Έμ΅λλ€ κ° μλ λ°νμ μλ¬κ° λ°μνλ€.
λͺ¨λ₯΄κ² μ΄μ κ²μμ νκ³ μκ·Έλ§ κ³΅μμ νμ©νλ λ¬Έμ μλ€.
(κ°μ°μ€ λ§μ μ΄λΌκ³ κ²μν΄λ λμ¨λ€)
- κ°μ°μ€ λ§μ
곡μ
- n < m μΌ λ, nλΆν° mκΉμ§μ μ μλ₯Ό λͺ¨λ λν κ°μ
- (n + m) * (m - n + 1) / 2
- μκ·Έλ§ κ³΅μ
- n < m μΌ λ, nλΆν° mκΉμ§μ μ μλ₯Ό λͺ¨λ λν κ°μ
- 1λΆν° mκΉμ§μ ν© - 1λΆν° n-1κΉμ§μ ν©κ³Ό κ°λ€ (1 + β¦ + m) - (1 + β¦ + n-1)
- = [m(m + 1) / 2] - [n-1(n-1 + 1) / 2]
- = [m(m + 1) / 2] - [n-1(n) / 2]
- μ¬κΈ°μ aμ bμ€ λ¬΄μμ΄ λ ν°μ§ λͺ¨λ₯΄λ―λ‘, λμλΉκ΅λ₯Ό ν λ€μ 곡μμΌλ‘ μ μ©νλ€.
νμ΄1 (μκ°μ΄κ³Ό)
let inputArr = readLine()!.split(separator: " ").map { Int($0)! }
print((inputArr[0]...inputArr[1]).reduce(0, +))
- forλ¬ΈμΌλ‘ νλ©΄ μκ°μ νμ ν΅κ³Όνμ§ λͺ»ν΄ λ°νμ μλ¬ λ°μ
νμ΄2
- aμ bλ₯Ό λμλΉκ΅νμ¬ κ° κ²½μ°μ λ€λ₯Έ 곡μ μ μ©
let inputArr = readLine()!.split(separator: " ").map { Int($0)! }
let a = inputArr[0]
let b = inputArr[1]
if a < b {
print((b * (b + 1)) / 2 - (a * (a - 1)) / 2)
} else {
print((a * (a + 1)) / 2 - (b * (b - 1)) / 2)
}
νμ΄3
- bκ° λ°λμ aλ³΄λ€ ν° μκ° λλλ‘ λ³΄μ₯ν λ€ νλμ 곡μ μ μ©
let inputArr = readLine()!.split(separator: " ").map { Int($0)! }
let a = inputArr.min()!
let b = inputArr.max()!
print((b * (b + 1)) / 2 - (a * (a - 1)) / 2)
'νλ‘κ·Έλλ° > μκ³ λ¦¬μ¦ νμ΄ Swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€ 2309] μΌκ³± λμμ΄ (0) | 2022.09.07 |
---|---|
[λ°±μ€ 2386] λλΉμ μμ΄ κ³΅λΆ (0) | 2022.09.07 |
[λ°±μ€ 1864] λ¬Έμ΄ μ«μ (0) | 2022.09.02 |
[λ°±μ€ 1834] λλ¨Έμ§μ λͺ«μ΄ κ°μ μ (0) | 2022.08.31 |
[λ°±μ€ 1731] μΆλ‘ (0) | 2022.08.30 |