์ฌ๊ณผ ๋ด๊ธฐ ๊ฒ์(2828๋ฒ)
Silver 5
#๊ตฌํ #๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
https://www.acmicpc.net/problem/2828
๋ฌธ์ ๋ด์ฉ
๋ฌธ์ ์ ๊ทผ
์ฌ๊ณผ๋ฅผ ๋ด์ ์ ์๋ ๋ฐ๊ตฌ๋๊ฐ ์ฃผ์ด์ง๋ค.
๋ฐ๊ตฌ๋์ ๋ฒ์ ์์ ์ ํํ ์ฌ๊ณผ๋ฅผ ๋ฃ์ด์ผ ํ ๋, ๋ฐ๊ตฌ๋๋ฅผ ์์ง์ด๋ ์ต์ ํ์๋ฅผ ๊ตฌํด์ผ ํ๋ค.
๋ฐ๊ตฌ๋์ ๋์ด๊ฐ 1๋ณด๋ค ํด ์๋ ์๋ค.
์ฌ๊ณผ๊ฐ ๋จ์ด์ง๋ ์์๋ ์ ๋ ฅ ์์๋๋ก ๋จ์ด์ง๋ค.
๋จ์ด์ง๋ ์์น์ ๋ฐ๊ตฌ๋๋ฅผ ์ฎ๊ฒจ ์ฃผ๋ฉด ๋๋ค.
์ ๋ ฅ ์์ 1์ ์๋ก ๋ค์ด ๋ณด๊ฒ ๋ค.
5 1
3
1
5
3
5์นธ์ผ๋ก ๋๋์ด ์๋ ํ๋ฉด์ ๊ธธ์ด๊ฐ 1์ธ ๋ฐ๊ตฌ๋๊ฐ ์์ ๋, ์ฌ๊ณผ๊ฐ 1 -> 5 -> 3์ ์์น์์ ๋จ์ด์ง ๋, ์ค๋ฅธ์ชฝ ๋๋ ์ผ์ชฝ์ผ๋ก ๋ฐ๊ตฌ๋๋ฅผ ์์ง์ฌ ์ฌ๊ณผ๋ฅผ ๋ชจ๋ ๋ด์ ์ ์๋ ์ต์๊ฐ์ ๊ตฌํด์ผ ํ๋ค.
์คํฌ๋ฆฐ์ ๋ฐ๋ผ์ ๊ฐ์ฅ ์ผ์ชฝ์ 1, ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ 5๋ฅผ ์ฒ์์ ๋ฐ๊ตฌ๋๋ ๋ฌด์กฐ๊ฑด ์์น 1์์ ์์ํ๋ค.
์ฒ์์ 1์ ์ฒ์ ์์น 1 ๊ทธ๋๋ก๋ผ ์์ง์ด์ง ์๋๋ค.
5์ ๊ฒฝ์ฐ๋ ์ค๋ฅธ์ชฝ์ผ๋ก 4์นธ ์์ง์ฌ ์ค๋ค.
3์ ๊ฒฝ์ฐ๋ ์ผ์ชฝ์ผ๋ก 2์นธ ์์ง์ฌ ์ค๋ค.
๊ทธ๋์ ์ ๋ต์ 6๊ฐ๊ฐ ๋๋ค.
๋ฐ๊ตฌ๋๋ฅผ ์ด๋ค ๋ฐฉํฅ์ผ๋ก ์์ง์ด๊ฒ ํ ์ง๊ฐ ์ค์ํ๋ค.
๋ฐ๊ตฌ๋๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ์์ง์์ ๋๋, ์ผ์ชฝ์ผ๋ก ์์ง์ผ ๋์์ ๋ ์ ์ case๋ฅผ ๋ํด์ฃผ๋ฉด ๋๋ค.
๋ฌธ์ ํด๊ฒฐ ์ฝ๋
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val (size, basket) = readLine().split(" ").map { it.toInt() }
val apples = readLine().toInt()
var basketFront = 1
var basketBack = basket
var answer = 0
for (i in 0 until apples) {
val fallingLocation = readLine().toInt()
if (fallingLocation > basketBack) {
while (fallingLocation != basketBack) {
basketBack++
basketFront++
answer++
}
} else if (fallingLocation < basketFront) {
while (fallingLocation != basketFront) {
basketFront--
basketBack--
answer++
}
}
}
println(answer)
}
๋ฌธ์ ํ์ด
์ ๋ ฅ๊ฐ์ ์ ๋ ฅ๋ฐ๊ณ ๋์ basket๋งํผ ์ด๊ธฐ ์์ ๋ถ๋ถ์ 1๋ก ์ง์ ํ๊ณ ๋ฐ๊ตฌ๋์ ๋ ๋ถ๋ถ์ ๋ฐ๊ตฌ๋์ ๋๋น๋ก ์ง์ ํด ์ค๋ค.
์ฌ๊ณผ๊ฐ ๋จ์ด์ง ์์น์ ๋ง๊ฒ ๋ฆฌ์คํธ์ ์์น๋ฅผ ๋ณ๊ฒฝํด ์ค๋ค.
๋ฐ๊ตฌ๋๋ฅผ ์์ผ๋ก ์ฎ๊ธธ ๋์ ๋ค๋ก ์ฎ๊ธธ ๋๋ฅผ ๊ฐ๊ฐ ๊ตฌํํด ์ค๋ค.๋ฐ๊ตฌ๋๋ฅผ ์ฎ๊ธธ ๋๋ ์ ๋์ ๊ฐ์ ๋บ๋ค๊ฐ ๋ฐ๋ ๋ฐฉํฅ์ ๋ฃ์ด ์ฃผ๋ ๋ฐฉ์์ด๋ค.์คํฌ๋ฆฐ์ ๋ฒ์ด๋๋ฉด ์ ๋๊ธฐ ๋๋ฌธ์ while๋ฌธ์ ์กฐ๊ฑด์ ์ถ๊ฐํด ์ค๋ค.
๋ฌธ์ ํด๊ฒฐ ๊ณผ์
์ฒ์์๋ deque๋ฅผ ์ฐ๋ ค๊ณ ํ๋ค๊ฐ get์ด ์ ๋ผ์ mutableList๋ก ๊ตฌํํด ์ฃผ์๋ค.
๋ฐ๊ตฌ๋๋ฅผ ์ ๋๋ ๋ค๋ก ์ด๋ํด์ผ ํ๋ ๊ฒฝ์ฐ๋ฅผ ์ ํ์ธํด์ผ ํ๋ค.
'๐ฏ | ๋ฐฑ์ค > ๐ | Silver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin, S4] ๋ฐฑ์ค 9242๋ฒ ํญํ ํด์ฒด (0) | 2024.09.20 |
---|---|
[Kotlin, S2] ๋ฐฑ์ค 18352๋ฒ ํน์ ๊ฑฐ๋ฆฌ์ ๋์ ์ฐพ๊ธฐ (0) | 2024.09.10 |
[Kotlin, S3] ๋ฐฑ์ค 8911๋ฒ ๊ฑฐ๋ถ์ด (0) | 2024.08.30 |
[Kotlin, S4] ๋ฐฑ์ค 1337๋ฒ ์ฌ๋ฐ๋ฅธ ๋ฐฐ์ด (0) | 2024.08.29 |
[Kotlin, S3] ๋ฐฑ์ค 13305๋ฒ ์ฃผ์ ์ (0) | 2024.08.27 |