FA์์ ์ง(31883๋ฒ)
Silver 3
#์ํ #๊ตฌํ #๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ #์๋ฎฌ๋ ์ด์
๋ฌธ์ ๋ด์ฉ
๋ฌธ์ ์ ๊ทผ
์ ๋ ฅ์ด ์์๋๋ก ์ฃผ์ด์ง๋ค.
ํก๋จ๋ณด๋๋ฅผ ๊ฑด๋๋ ์๊ฐ, ์ก๊ต๋ฅผ ๊ฑด๋๋ ์๊ฐ, ํก๋จ๋ณด๋๊ฐ ์ด๋ก๋ถ์ธ ์๊ฐ, ํก๋จ๋ณด๋๊ฐ ๋นจ๊ฐ๋ถ์ธ ์๊ฐ
์ ์์๋๋ก ์ ๋ ฅ์ด ์ฃผ์ด์ง๋๋ฐ, ํก๋จ๋ณด๋์ ์ก๊ต ์ค ๋ ์๊ฐ์ด ์ ๊ฒ ๊ฑธ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ ์ด์ฉํด์ผ ํ๋ค. ๊ทธ๋์ผ ์ต์๊ฐ์ ๊ตฌํ ์ ์์ผ๋.
ํก๋จ๋ณด๋์ ๋นจ๊ฐ๋ถ์ธ ์๊ฐ๊ณผ ์ด๋ก๋ถ์ธ ์๊ฐ์ ํ๋จ์ ์ํด์ผ ํ๋ค.
์ ๋ ฅ ์์ ์ค 1๊ฐ์ง์ ์์๋ฅผ ๋ถ๋ฌ์ ๋ณด๊ฒ ๋ค.
1 2 2 4
์ด๋ก๋ถ์ธ ์๊ฐ์ 2๋ถ์ด๊ณ , ๋นจ๊ฐ๋ถ์ธ ์๊ฐ์ 4์ด๋ค.
์ด ์์๋ฅผ ๋ณด๋ฉด 2๋ถ์ด ๊ฒฝ๊ณผํ์ ๋ ํก๋จ๋ณด๋๋ฅผ ๊ฑด๋ ์ ์๊ฒ ์๊ฒผ์ง๋ง ๊ฑด๋๋ฉด ์ ๋๋ค.
์ ํํ 2๋ถ์ด ๋๋ ์๊ฐ ๋นจ๊ฐ๋ถ์ด ๋๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ค๋ ค์ผ ํ๋ค.
ํ๋ก ๋ํ๋ด ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์์ ์งํ์ธ 0๋ถ ~ 1๋ถ๊น์ง๋ ์ด๋ก๋ถ์ด์ง๋ง 2๋ถ์ด ๋๋ ์๊ฐ๋ถํฐ 5๋ถ๊น์ง ๋นจ๊ฐ๋ถ ์ํ๊ฐ ๋๋ค.
์ ํ๋ฅผ ๋ณด๋ฉด ๋นจ๊ฐ๋ถ์ผ ๋๋ 6๋ถ๊น์ง ๋นจ๊ฐ๋ถ์ด ์๋, 6๋ถ์ด ๋๋ ์๊ฐ ์ด๋ก๋ถ์ด ๋๋ค.
๊ทธ๋ฌ๋ฉด ๊ฒฝ๊ณผ ์๊ฐ์ ๋ฐ๋ผ ํก๋จ๋ณด๋๊ฐ ๋นจ๊ฐ๋ถ์ธ์ง ์ด๋ก๋ถ์ธ์ง ์์์ผ ํ๋ค.
๋ง์ฝ ๋นจ๊ฐ๋ถ์ด๋ผ๋ฉด ์ผ๋ง๋ ๊ธฐ๋ค๋ฆฌ๋ฉด ์ด๋ก์ค์ด ๋๋์ง๋ ํ์ธํด์ผ ํ๋ค.
์ ์ ๋ ฅ ์์ ๋ฅผ ์๋ก ๋ค์ด ๋ณด๋ฉด ์ด ํก๋จ๋ณด๋๋ฅผ ๊ฑด๋ ๋ ํ์ํ ์๊ฐ์
1 + 0 ๋๋ ๋นจ๊ฐ๋ถ์ด ๋จ์ ์๊ฐ์ด ๋ ๊ฒ์ด๋ค. ์ก๊ต๋ฅผ ๊ฑด๋๋ ์๊ฐ์ ๊ทธ๋ฅ 2์ด๊ณ .
์ด ์ํฉ์์ ๋ ์๊ฐ์ด ์ ๊ฒ ๊ฑธ๋ฆฌ๋ ๊ฒ์ ํํ๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
๊ทธ๋ฌ๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๊ฒฝ๊ณผ ์๊ฐ์ ๋ฐ๋ฅธ ํก๋จ๋ณด๋๊ฐ ์ด๋ก๋ถ์ธ์ง ๋นจ๊ฐ๋ถ์ธ์ง ํ๋จํด์ผ ํ๋ค.
์ด๋ฅผ ์ฝ๋๋ฅผ ํตํด ์์๋ณด์.
<์กฐ๊ฑด 1>
์ผ๋จ ๊ฒฝ๊ณผ ์๊ฐ์ ์ ์ฅํ ๋ณ์๊ฐ ํ์ํ๋ค. time์ผ๋ก ์ง์ ํ๊ฒ ๋ค.
๊ฒฝ๊ณผ ์๊ฐ์์ ์ด๋ก๋ถ๊ณผ ๋นจ๊ฐ๋ถ์ ์๊ฐ์ ํฉ์ ๊ตฌํ๋ค. ์ฌ์ง 1-1์ ๋ณด๋ฉด ๊ฒฝ๊ณผ ์๊ฐ์ ๋ฐ๋ฅธ ํก๋จ๋ณด๋ ์ฌ์ดํด์ ๋๋ ๋๋จธ์ง๋ฅผ ๊ตฌํ๊ฒ ๋๋ค๋ฉด ํน์ ํ ๊ท์น์ ์ฐพ์ ์ ์์ ๊ฒ์ด๋ค. 0, 1, 6, 7์ผ ๋ ํก๋จ๋ณด๋ ์ฌ์ดํด ์๊ฐ์ธ 6์ผ๋ก ๋๋ ๋๋จธ์ง๊ฐ 0, 1์ธ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ฐ๋ฆฌ๋ ์ด ์ฌ์ค์ ๋ฐํ์ผ๋ก ๊ฒฝ๊ณผ ์๊ฐ์์ ํก๋จ๋ณด๋ ์ฌ์ดํด ์๊ฐ์ ๋๋ ๋๋จธ์ง๊ฐ ์ด๋ก๋ถ์ด ์ผ์ง๋ ์๊ฐ๋ณด๋ค ์์์ผ ํ๋ค๋ ๊ฒ์ ํ์ ํ ์ ์๋ค.
if (time % (green + red) < green)
์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด ํ์ฌ ํก๋จ๋ณด๋๋ ์ด๋ก๋ถ์ธ ์ํ๊ฐ ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์ด ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์์ผ๋ฉด ๋นจ๊ฐ๋ถ์ด ๋ ๊ฒ์ด๋ค.
<์กฐ๊ฑด 2>
๊ฒฝ๊ณผ ์๊ฐ์ ๋ฐ๋ผ ํก๋จ๋ณด๋๊ฐ ์ด๋ก๋ถ์ธ์ง ๋นจ๊ฐ๋ถ์ธ์ง ์กฐ๊ฑด 1์ ํตํด ํ์ ํ์ผ๋ฉด ์ด์ ๋นจ๊ฐ๋ถ์ธ ๊ฒฝ์ฐ ๋จ์ ์๊ฐ์ด ์ผ๋ง๋ ๋๋์ง๋ ํ์ ํด์ผ ํ๋ค. ์ฌ์ง 1-1์ ๋ณด๋ฉด ๋นจ๊ฐ๋ถ์ธ ์๊ฐ์ ํก๋จ๋ณด๋ ์ฌ์ดํด์ ๋๋ ๋๋จธ์ง ๊ฐ์ด 2, 3, 4, 5์ธ ๊ฒ์ ์ ์ ์๋ค.
๋ง์ฝ ๋๋จธ์ง๊ฐ 2๋ผ๋ฉด ๋นจ๊ฐ๋ถ์ด ๋๋ ๋๊น์ง 4๋ถ์ ๊ธฐ๋ค๋ ค์ผ ํ ๊ฒ์ด๋ค. ๊ทธ๋์ผ ๊ฒฝ๊ณผ ์๊ฐ์ด 6๋ถ์ด ๋ผ์ ์ด๋ก๋ถ๋ก ๋ฐ๋๊ฒ ๋ ํ ๋.
๋ค๋ฅธ ๊ฒฝ์ฐ๋ ๊ฐ๋ค 3์ธ ๊ฒฝ์ฐ์๋ 3๋ถ์, 4์ธ ๊ฒฝ์ฐ์๋ 2๋ถ์, 5์ธ ๊ฒฝ์ฐ์๋ 1๋ถ์ ๊ธฐ๋ค๋ฆฌ๋ฉด ์ด๋ก๋ถ์ด ๋๋ค.
๋ฐ๋ก ๊ท์น์ด ๋ณด์ด์ง ์๋๊ฐ? ๋๊ธฐ ์๊ฐ๊ณผ ๋๋จธ์ง๊ฐ์ ํฉ์ด ํก๋จ๋ณด๋ ์ฌ์ดํด(6๋ถ)๊ณผ ๋์ผํ๋ค.
๋๊ธฐ ์๊ฐ(๋นจ๊ฐ๋ถ์ผ ๋) + ๋๋จธ์ง ๊ฐ = ํก๋จ๋ณด๋ ์ฌ์ดํด
์ด๋ฅผ ํ์ฉํด ํก๋จ๋ณด๋ ์ฌ์ดํด ์๊ฐ์ ํ์ฌ ๋๋จธ์ง๊ฐ์ ๋นผ์ฃผ๊ฒ ๋๋ฉด ๋๊ธฐ ์๊ฐ์ด ๋์ฌ ๊ฒ์ด๋ค.
์ฝ๋๋ก ๋ํ๋ด ๋ณด์.
(green + red) - time % (green + red)
๋๋จธ์ง ๊ฐ์ ์กฐ๊ฑด 1์ ์ฌ์ฉํ ์กฐ๊ฑด ๊ทธ๋๋ก ์ฌ์ฉํ๋ฉด ๋๋จธ์ง ๊ฐ์ ๊ตฌํ ์ ์๋ค.
ํก๋จ๋ณด๋ ์ฌ์ดํด์์ ๋๋จธ์ง๋ฅผ ๋นผ์ฃผ๋ฉด ๋จ์ ๋๊ธฐ ์๊ฐ์ ๊ตฌํ ์ ์์ ๊ฒ์ด๋ค.
๋ฌธ์ ํด๊ฒฐ ์ฝ๋
import java.io.BufferedReader
import java.io.InputStreamReader
import kotlin.math.min
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val cross = readLine().toInt()
var time = 0
for (i in 0 until cross) {
val (crosswalk, viaduct, green, red) = readLine().split(" ").map { it.toInt() }
val crossingTime = if (time % (green + red) < green) {
0
} else {
// ๋๋จธ์ง๊ฐ 0์ด ๋์ผ ์ถ๋ฐํ ์ ์๋ค.
(green + red) - time % (green + red)
}
time += min(crossingTime + crosswalk, viaduct)
}
println(time)
}
๋ฌธ์ ํ์ด
์ ๋ ฅ์ ํก๋จ๋ณด๋, ์ก๊ต, ์ด๋ก๋ถ, ๋นจ๊ฐ๋ถ ์์ผ๋ก ์ ๋ ฅ๋ฐ๊ณ ๊ฒฝ๊ณผ ์๊ฐ์ ํ์ธํ time์ ์์ฑํ๋ค.
ํก๋จ๋ณด๋๋ฅผ ํํ๊ฒ ๋ ๊ฒฝ์ฐ ๊ฑธ๋ฆด ์ ์๋ ๋๊ธฐ ์๊ฐ์ ๊ตฌํด์ผ ํ๋ค.
์กฐ๊ฑด 1์ ์ด์ฉํด ์กฐ๊ฑด 1์ ๋ง์กฑํ๊ฒ ๋๋ฉด ์ด๋ก๋ถ์ธ ๊ฒฝ์ฐ์ด๋ฏ๋ก ์ถ๊ฐ์ ์ธ ๋๊ธฐ ์๊ฐ์ ์๋ค. ์ฆ 0๋ถ์ด๋ค.
์กฐ๊ฑด 1์ด ๋ง์กฑํ์ง ์์ผ๋ฉด ๋ฐ๋ก ์กฐ๊ฑด 2๋ฅผ ์ด์ฉํด์ ๋จ์ ๋๊ธฐ ์๊ฐ์ ๊ตฌํด์ผ ํ๋ค. ์ถ๊ฐ ์๊ฐ์ด ๋ฐ์ํ๋ค.
์ต์ข ์ ์ผ๋ก crossingTime์ 0 ๋๋ ์ถ๊ฐ ์๊ฐ์ด ๋ ๊ฒ์ด๋ค.
์ด์ time์์ ์ก๊ต๋ฅผ ๊ฑด๋๋ ์๊ฐ(viaduct)๊ณผ ํก๋จ๋ณด๋๋ฅผ ๊ฑด๋๋ ์๊ฐ์์ ์ถ๊ฐ ์๊ฐ์ ๋ํ ์๊ฐ(crossingTime + crosswalk)์์ ๋ ์์ ๊ฐ์ ํํด์ ๊ทธ๋งํผ time์ ๋๋ ค์ค๋ค.
๊ทธ๋ผ ์ต์ ์ ์๊ฐ์ผ๋ก ๋ชจ๋ ๊ธธ์ ๊ฑด๋ ์ ์๋ค.
๋ฌธ์ ํด๊ฒฐ ๊ณผ์
์ฌ์น ์ฐ์ฐ๊ณผ ๋๋จธ์ง๋ก ๋นจ๊ฐ๋ถ์ผ ๋์ ๋จ์ ๋๊ธฐ ์๊ฐ์ ๊ตฌํ๋ ๊ฒ ํต์ฌ์ด๋ค. ๋ํ ๋ฌธ์ ์กฐ๊ฑด์ ์๋ค์ํผ ์ ํํ ์๊ฐ์ ํก๋จ๋ณด๋์ ๋๋ฌํ๊ฒ ๋๋ฉด ์ ํธ๋ฑ์ด ๋ฐ๋๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ๋ ์๊ฐํด์ผ ํ๋ค.
๊ทธ๊ฑฐ ๋ง๊ณ ๋ ํ๋ฒํ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์ด๋ค.
'๐ฏ | ๋ฐฑ์ค > ๐ | Silver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin, S1] ๋ฐฑ์ค 11403๋ฒ ๊ฒฝ๋ก ์ฐพ๊ธฐ (0) | 2024.08.11 |
---|---|
[Kotlin, S1] ๋ฐฑ์ค 6064๋ฒ ์นด์ ๋ฌ๋ ฅ (0) | 2024.08.11 |
[Kotlin, S5] ๋ฐฑ์ค 9196๋ฒ ์ ์ ์ง์ฌ๊ฐํ (0) | 2024.08.09 |
[Kotlin, S5] ๋ฐฑ์ค 1340๋ฒ ์ฐ๋ ์งํ๋ฐ (0) | 2024.08.08 |
[Kotlin, S1] ๋ฐฑ์ค 5525๋ฒ IOIOI (0) | 2024.08.06 |