λ¬Έμ μ€λͺ
νκ΅μμ κ·Έλν½μ€ μμ μ λ€μ λμ€μ΄λ μμ μκ°μ λ€μ λ΄μ©μ λ°νμΌλ‘ μ€λ§νΈν° κ²μμ λ§λ€μλ€. κ²μμλ μ΄ Nκ°μ λ λ²¨μ΄ μκ³ , κ° λ 벨μ ν΄λ¦¬μ΄ν λ λ§λ€ μ μκ° μ£Όμ΄μ§λ€. νλ μ΄μ΄μ μ μλ λ 벨μ ν΄λ¦¬μ΄νλ©΄μ μ»μ μ μμ ν©μΌλ‘, μ΄ μ μλ₯Ό λ°νμΌλ‘ μ¨λΌμΈ μμλ₯Ό 맀긴λ€. λμ€μ΄λ λ 벨μ λμ΄λ μμΌλ‘ λ°°μΉνλ€. νμ§λ§, μ€μλ‘ μ¬μ΄ λ λ²¨μ΄ μ΄λ €μ΄ λ λ²¨λ³΄λ€ μ μλ₯Ό λ§μ΄ λ°λ κ²½μ°λ₯Ό λ§λ€μλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λμ€μ΄λ νΉμ λ 벨μ μ μλ₯Ό κ°μμν€λ €κ³ νλ€. μ΄λ κ²ν΄μ κ° λ 벨μ ν΄λ¦¬μ΄ν λ μ£Όλ μ μκ° μ¦κ°νκ² λ§λ€λ €κ³ νλ€.
κ° λ 벨μ ν΄λ¦¬μ΄ν λ μ»λ μ μκ° μ£Όμ΄μ‘μ λ, λͺ λ² κ°μμν€λ©΄ λλμ§ κ΅¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€. μ μλ νμ μμμ΄μ΄μΌ νκ³ , 1λ§νΌ κ°μμν€λ κ²μ΄ 1λ²μ΄λ€. νμ λ΅μ΄ μ‘΄μ¬νλ κ²½μ°λ§ μ£Όμ΄μ§λ€. μ λ΅μ΄ μ¬λ¬ κ°μ§μΈ κ²½μ°μλ μ μλ₯Ό λ΄λ¦¬λ κ²μ μ΅μνμΌλ‘ νλ λ°©λ²μ μ°ΎμμΌ νλ€.
μ λ ₯
첫째 μ€μ λ 벨μ μ Nμ΄ μ£Όμ΄μ§λ€. (1 ≤ N ≤ 100) λ€μ Nκ° μ€μλ κ° λ 벨μ ν΄λ¦¬μ΄νλ©΄ μ»λ μ μκ° μ²« λ²μ§Έ λ 벨λΆν° λ§μ§λ§ λ 벨κΉμ§ μμλλ‘ μ£Όμ΄μ§λ€. μ μλ 20,000λ³΄λ€ μμ μμ μ μμ΄λ€.
μΆλ ₯
첫째 μ€μ μ μλ₯Ό λͺ λ² κ°μμν€λ©΄ λλμ§ μΆλ ₯νλ€.
μ μΆλ ₯ μμ
μ λ ₯1
3
5
5
5
μΆλ ₯1
3
μ λ ₯2
4
5
3
7
5
μΆλ ₯2
6
λ΄ λ¬Έμ νμ΄
import Foundation
let N = Int(readLine()!)!
var level = [Int]()
var sum = 0
for _ in 0..<N {
level.append(Int(readLine()!)!)
}
// λ°°μ΄μ λ€λΆν° κ²μ¬νλλ°, 맨 λ€ μμλ§ λΉΌκ³ !
for i in (0..<level.count-1).reversed() {
if level[i+1] <= level[i] { // λ· μμκ° νμ¬ μμλ³΄λ€ μκ±°λ κ°μ κ²½μ°
sum += (level[i]-level[i+1]+1) // λ· μμμ νμ¬ μμμ μ μ°¨μ΄μ 1μ λνλ§νΌ sumμ λμ
level[i] = level[i+1]-1 // νμ¬ μμ κ°±μ
}
}
print(sum)
π λ°°μ΄μ λμμλΆν° κ²μ¬νμ¬ λ· μμκ° μ μμλ³΄λ€ μμ κ²½μ° μΉ΄μ΄νΈνκ³ , μ μμλ λ· μμλ³΄λ€ 1 μμ μλ‘ κ°±μ !
(λμμλΆν° κ²μ¬νλ μ΄μ λ, μμμλΆν° κ²μ¬ν κ²½μ° μ΄λ€ μ«μλ₯Ό μΌλ§λ μμ μλ‘ κ°±μ ν΄μΌνλμ§ μ μ μκΈ° λλ¬Έ.
μλ₯Ό λ€μ΄, 5 4 3 λ°°μ΄μ κ²½μ° μμμλΆν° κ²μ¬νλ©΄ 4κ° 5λ³΄λ€ μλ€κ³ ν΄μ 5λ₯Ό 3μΌλ‘ κ°±μ νμ¬λ,
λ€μ λ€μμ 3μ΄ 4λ³΄λ€ μκΈ° λλ¬Έμ 4λ 2λ‘ κ°±μ νκ² λ¨. μ΄ λ 3μΌλ‘ κ°±μ λλ 5λ λ€μ 1λ‘ κ°±μ νμ¬μΌ μλ§μ λ λ²¨μ΄ λ¨.)
- μμ μ€λͺ λλ‘ level λ°°μ΄μ μμλλ‘ κ²μνλ©° λ€μμλΆν° μ μλ₯Ό μ λ°μ΄νΈν΄μ£Όμλ€.
π‘ νΌλλ°±
- μ²μμ μμμλΆν° κ²μ¬νλ κ²μΌλ‘ μ½λλ₯Ό μμ±νλλ°, μκ°ν΄λ³΄λ μμμλΆν° μ μλ₯Ό λ°κΏμ£Όλ©΄ κ³μ λ°°μ΄μ μ²μλΆν° νμν΄μΌλλ κ²,,!μ κΉ¨λ¬μμ, λ€λΆν° κ²μ¬νλλ‘ λ°κΏμ€¬λλ λ°λ‘ μλ§κ² νμ΄λμλ€.
λ¬Έμ
'3οΈβ£ Swift > Problem Solving' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift Algorithm] λ€μ§κΈ° BOJ #1439 (0) | 2021.08.19 |
---|---|
[Swift Algorithm] μ λ¬ΆκΈ° BOJ #1744 (0) | 2021.08.19 |
[Swift Algorithm] μμ΄λ²λ¦° κ΄νΈ BOJ #1541 (2) | 2021.08.18 |
[Swift Algorithm] ATM BOJ #11399 (0) | 2021.08.18 |
[Swift Algorithm] 보물 BOJ #1026 (0) | 2021.08.18 |
λκΈ