ํฌ๋๊ณผ 3D ํ๋ฆฐํฐ(30923๋ฒ)
Silver 5
#์ํ #๊ธฐํํ
๋ฌธ์ ๋ด์ฉ
๋ฌธ์ ์ ๊ทผ
๋๋น์ ํญ(๊ฐ๋ก์ ์ธ๋ก)์ด 1์ด๊ณ ๋์ด๊ฐ h์ธ ๊ฒน์ณ ์๋ ์ ์ฒด ๋ํ์ ๊ฒ๋์ด๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค.
๋๋น์ ํญ์ ๋์ด๊ฐ 1 ๊ณ ์ ์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฅ ์ ์ฒด ๊ฒ๋์ด์ ๊ฒน์น๋ ๋ถ๋ถ์ ๋นผ๋ ๋ฐฉ๋ฒ์ ์ธ ์๋ ์๊ณ , ๋ํ์ ๊ฐ ๋์ด๋ฅผ ์ผ์ผ์ด ๊ตฌํด์ฃผ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
๋๋ ๋ํ์ ๊ฐ ๋์ด๋ฅผ ์ผ์ผ์ด ๊ตฌํด ๋ํด์ฃผ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
๋ฌธ์ ์ ์์ 1์ ๋ํ ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด,
์ ๋ ฅ๋ฐ์ ์์๋๋ก ์ ์ฒด ๋ํ์ด ์ฃผ์ด์ง๋ค.
์ ์ฒด ๋ํ์ ๋๋น์ ํญ์ด 1์ด๋ผ์ ์๋ฉด์ ๋์ด๋ ๊ฐ ๋ํ์ ๋์ด์ ๊ฐ๋ค.
๊ฒ๋์ด๋ฅผ ๊ตฌํ๊ธฐ ์ํด์๋ ์ฌ๊ฐํ๋ค์ ๋์ด์ ํฉ์ ๋ชจ๋ ๊ตฌํด์ฃผ๋ฉด ๋๋ค.
์ฌ์ง 1-1์ ๊ฒ๋์ด๋ฅผ ๊ตฌํ๊ธฐ ์ํด์๋(์ ๋ฉด์ ์์ด๋ผ๊ณ ์นญํ๊ฒ ๋ค)
<๊ณ์ฐ์ 1>
๋ํ์ ์๋ฉด๊ณผ ๋ท๋ฉด์ ๋์ด: hList.sum() * 2
<๊ณ์ฐ์ 2>
๋ํ์ ์๋ฉด๊ณผ ์๋ซ๋ฉด์ ๋์ด: N * 2
<๊ณ์ฐ์ 3>
๋ํ์ ์ค๋ฅธ์ชฝ๋ฉด๊ณผ ์ผ์ชฝ๋ฉด์ ๋์ด: hList.first() + hList.last()
์ 3๊ฐ์ง๋ฅผ ๊ตฌํ๊ณ ๋๋ฉด ๋ํ ์ฌ์ด์ ๋์ด๋ง ๋จ๋๋ฐ,
<๊ณ์ฐ์ 4>
์ด ๋์ด๋ ๊ฒน์ณ ์๋ ๋ํ๋ค์ ๋์ด์ ์ฐจ์ ์ ๋๊ฐ๋งํผ ๋ํด ์ค๋ค: abs(hList[i] - hList[i+1])
1, 2, 3, 4๋ฅผ ๋ชจ๋ ๋ํด ์ฃผ๋ฉด ์ ๋ต์ด ๋์จ๋ค.
๋ฌธ์ ํด๊ฒฐ ์ฝ๋
import java.io.BufferedReader
import java.io.InputStreamReader
import kotlin.math.abs
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val cnt = readLine().toInt()
val height = readLine().split(" ").map { it.toLong() }
var surfaceArea: Long = height.sum() * 2 + cnt * 2 + height.first() + height.last()
for (i in 0 until cnt - 1) {
surfaceArea += abs(height[i] - height[i + 1])
}
println(surfaceArea)
}
๋ฌธ์ ํ์ด
๋ํ์ ๊ฐ์์ ๋ํ์ ๋์ด๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
๋ํ์ ๊ฒ๋์ด์ ์์ ๊ณ์ฐ์ 1, 2, 3์ ๋ํด ์ค๋ค.
๋ํ์ ๊ฐ์ - 1๋งํผ ๊ฒน์ณ ์๋ ๋ํ ๊ฐ์ ๋์ด๋ ๋ํด ์ค๋ค.
๋ฌธ์ ํด๊ฒฐ ๊ณผ์
๊ตฌํ์ ์ฌ์ ๋ค.
๋๋น์ ํญ์ ๊ณ ๋ คํ์ง ์์๋ ๋ผ์ ์ฒด๊ฐ ๋์ด๋๊ฐ ๋ ๋ฎ์๋ค.
์ ํ์ด ๋ํ์ ๊ฐ์๊ฐ 32768์ด๊ณ , ๋์ด ์ ํ๋ 32768์ด๋ค. ๊ทธ๋์ ๋ํ์ ๊ฐ์๊ฐ 32768๊ฐ์ด๊ณ , ๋ชจ๋ ๋ํ์ ๋์ด๊ฐ 32768์ธ ๊ฒฝ์ฐ์๋ int์ ๋ฒ์๋ฅผ ์ด๊ณผํด์ ์ค๋ต์ด ๋์ฌ ๊ฒ์ด๋ค.
1๋ฒ ๊ณต์์ธ 32,768 * 32,768 * 2 = 2,147,483,648์ด int ๋ฒ์์ ํ๋์ด๋ค.
์ด ๊ฐ์ 2, 3, 4๋ฒ ๊ณต์์ ์ ์ฉํ๋ฉด int ๋ฒ์๊ฐ ๋์ด๊ฐ๊ฒ ๋๋ค.
๊ทธ๋ผ 78%์์ ์ค๋ต์ด ๋์ฌ ๊ฒ์ด๋ค.
'๐ฏ | ๋ฐฑ์ค > ๐ | Silver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin, S2] ๋ฐฑ์ค 30804๋ฒ ๊ณผ์ผ ํํ๋ฃจ (0) | 2024.08.05 |
---|---|
[Kotlin, S2] ๋ฐฑ์ค 21736๋ฒ ํ๋ด๊ธฐ๋ ์น๊ตฌ๊ฐ ํ์ํด (0) | 2024.08.04 |
[Kotlin, S2] ๋ฐฑ์ค 18111๋ฒ ๋ง์ธํฌ๋ํํธ (0) | 2024.08.03 |
[Kotlin, S3] ๋ฐฑ์ค 31409๋ฒ ์ฐฉ์ ์ ํ ์๋ (0) | 2024.08.02 |
[Kotlin, S4] ๋ฐฑ์ค 25184๋ฒ ๋๊ฐ์์ด ๊ตฌํ๊ธฐ (0) | 2024.08.01 |