๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ฏ | ๋ฐฑ์ค€/๐Ÿ™‚ | Silver

[Kotlin, S3] ๋ฐฑ์ค€ 13305๋ฒˆ ์ฃผ์œ ์†Œ

by immgga 2024. 8. 27.

์ถœ์ฒ˜: unsplash.com

 

์ฃผ์œ ์†Œ(13305๋ฒˆ)

Silver 3

#๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜

https://www.acmicpc.net/problem/13305

 

๋ฌธ์ œ ๋‚ด์šฉ

 

 

๋ฌธ์ œ ์ ‘๊ทผ

์‚ฌ์ง„ 1-1

์ด ์‚ฌ์ง„์—์„œ ์› ์•ˆ์˜ ์ˆ˜๊ฐ€ 1L๋‹น ๊ธฐ๋ฆ„์˜ ๊ฐ’์ด๊ณ  ์› ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ๋œ ์„ ์ด ๋„์‹œ ๊ฐ„ ๋„๋กœ์˜ ๊ธธ์ด์ผ ๋•Œ, ์ ์€ ๊ธฐ๋ฆ„๊ฐ’์œผ๋กœ ์ฒซ ๋ฒˆ์งธ ๋„์‹œ์—์„œ ๋งˆ์ง€๋ง‰ ๋„์‹œ๊นŒ์ง€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค.

์œ„ ์˜ˆ์ œ์—์„œ๋Š” 5์›์งœ๋ฆฌ 2L๋ฅผ ์ฒซ ๋ฒˆ์งธ ๋„์‹œ์—์„œ ๊ตฌ๋งคํ•ด ์ฃผ๊ณ , 2์›์งœ๋ฆฌ 4L๋ฅผ ๋‘ ๋ฒˆ์งธ ๋„์‹œ์—์„œ ๊ตฌํ•œ๋‹ค. 4L๋กœ 2, 3๋ฒˆ์งธ ๋„๋กœ๋ฅผ ์ง€๋‚  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ •๋‹ต์€ 18์ด๋‹ค.

 

๊ฐ€์žฅ ์ ์€ ๊ธฐ๋ฆ„๊ฐ’์ด ๋“ค์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ฆ„๊ฐ’์ด ์ด๋™ํ•˜๋ฉด์„œ ์ฆ๊ฐ€ํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.

์„ธ ๋ฒˆ์งธ ๊ฒฝ์šฐ์—๋Š” ์›๋ž˜๋Š” 1L๋‹น 4์›์ด ํ•„์š”ํ•˜์ง€๋งŒ ์ด์ „ ๋„์‹œ์˜ 2์›์ด ๋” ์ €๋ ดํ•˜๊ธฐ ๋•Œ๋ฌธ์— 2์›๋งŒ ์“ฐ๊ณ ๋„ 3๋ฒˆ์งธ ๋„๋กœ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์‹œ ์ ์–ด ๋ณด๋ฉด, ์ด 3๋‹จ๊ณ„๋กœ ์š”๊ธˆ์„ ์ฒญ๊ตฌํ•œ๋‹ค.

1. ๊ธฐ๋ฆ„ 2L, 1L๋‹น 5์›์ด๋ฏ€๋กœ 10์›

2. ๊ธฐ๋ฆ„ 3L, 1L๋‹น 2์›์ด๋ฏ€๋กœ 10 + 6์›

3. ๊ธฐ๋ฆ„ 1L, 1L๋‹น 4์›์ด์ง€๋งŒ, 2๋ฒˆ์—์„œ 1L๋ฅผ ๋” ๋‹ด์•„ ์˜ค๋ฉด 10 + 6 + 2 = 18์›

์œ„์™€ ๊ฐ™์€ ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

3๋ฒˆ์งธ์˜ ๊ฒฝ์šฐ๋Š” ๊ทธ๋ƒฅ 2์›์งœ๋ฆฌ ๊ธฐ๋ฆ„ 1L๋ฅผ ์ถ”๊ฐ€๋กœ ๊ตฌ๋งคํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๊ทœ์น™์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

 

๋ฐ”๋กœ 1L๋‹น ๊ธฐ๋ฆ„ ๊ฐ’์ด ๋‚ด๋ฆผ์ฐจ์ˆœ์ด์–ด์•ผ ํ•œ๋‹ค.

์ž…๋ ฅ ์˜ˆ์ œ 1๋ถ€ํ„ฐ ์ฒ˜์Œ์—๋Š” ๋ฆฌํ„ฐ๋‹น ๊ธฐ๋ฆ„ ๊ฐ’์ด 5์›์ด์—ˆ๋‹ค๊ฐ€ 2์›์ด ๋œ๋‹ค. 3๋ฒˆ์งธ์—์„œ๋Š” 4์›์ด์ง€๋งŒ, 2์›์งœ๋ฆฌ 1L๋ฅผ ๊ตฌ๋งคํ•œ ๊ฒƒ๊ณผ ๋‹ค๋ฆ„์ด ์—†์–ด์„œ ๋˜‘๊ฐ™์ด 2์›์ด๋‹ค.

5 -> 2 -> 2 ์ˆœ์œผ๋กœ ๋ฆฌํ„ฐ ๋‹น ๊ธฐ๋ฆ„๊ฐ’์ด ์ž‘์•„์กŒ๋‹ค.

์ด๋ฅผ ์ด์šฉํ•ด์„œ ๋‹ค์Œ ๋„์‹œ์˜ ๋ฆฌํ„ฐ ๋‹น ๊ธฐ๋ฆ„๊ฐ’์ด ์ด์ „ ๋„์‹œ๋ณด๋‹ค ๋น„์‹ธ๋ฉด ์ด์ „ ๋„์‹œ์˜ ๊ธฐ๋ฆ„๊ฐ’์„ ์ด์šฉํ•ด ๊ธฐ๋ฆ„์„ ๊ตฌ์ž…ํ•œ๋‹ค.

๋‹ค๋ฅด๊ฒŒ ๋งํ•˜๋ฉด ์ด์ „ ๋„์‹œ์—์„œ ํ˜„์žฌ ๋„์‹œ์˜ ๋„๋กœ๋ฅผ ์ง€๋‚˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ธฐ๋ฆ„๊นŒ์ง€ ๊ฐ™์ด ์‚ฐ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

 

<์กฐ๊ฑด 1>

๊ทธ๋Ÿฌ๋ฉด ์ด์ „ ๊ธฐ๋ฆ„๊ฐ’๋ณด๋‹ค ํ˜„์žฌ ๊ธฐ๋ฆ„๊ฐ’์ด ๋” ์‹ธ๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ? ๋‹น์—ฐํžˆ ํ˜„์žฌ์˜ ๊ธฐ๋ฆ„๊ฐ’์œผ๋กœ ๊ธฐ๋ฆ„์„ ๊ตฌ๋งคํ•ด์•ผ ํ•œ๋‹ค.

๊ทธ ์ดํ›„์˜ ๋„์‹œ์—์„œ๋„ ๋‹ค์Œ ๋„์‹œ์˜ ๊ธฐ๋ฆ„๊ฐ’์ด ๋” ์‹ธ์งˆ ๋•Œ๊นŒ์ง€ ๋„์‹œ๋ฅผ ์ง€๋‚˜๋ฉด์„œ ๊ธฐ๋ฆ„์„ ์ด์ „์˜ ๊ธฐ๋ฆ„๊ฐ’์„ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.

if (gasStation[i] < toAddGas) toAddGas = gasStation[i]

ํ˜„์žฌ ๊ธฐ๋ฆ„๊ฐ’์„ gasStateion์ด๋ผ๊ณ  ํ•˜๊ณ , ์ด์ „ ๊ธฐ๋ฆ„๊ฐ’์„ toAddGas๋ผ๊ณ  ํ•  ๋•Œ, ์ด์ „ ๊ธฐ๋ฆ„๊ฐ’๋ณด๋‹ค ํ˜„์žฌ ๊ธฐ๋ฆ„๊ฐ’์ด ๋” ์Œ€ ๋•Œ๋งŒ toAddGas๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ๋„๋กœ์˜ ๊ธธ์ด๋งŒํผ ๊ณฑํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

์ด ๊ณต์‹์€ ๋‚ด๊ฐ€ ๋‹ค๋ฅธ ๋ถ„์˜ ํฌ์ŠคํŒ…์œผ๋กœ ๊ณต๋ถ€ํ•ด์„œ ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ–ˆ๋‹ค.

https://st-lab.tistory.com/192

 

[๋ฐฑ์ค€] 13305๋ฒˆ : ์ฃผ์œ ์†Œ - JAVA [์ž๋ฐ”]

www.acmicpc.net/problem/13305 13305๋ฒˆ: ์ฃผ์œ ์†Œ ํ‘œ์ค€ ์ž…๋ ฅ์œผ๋กœ ๋‹ค์Œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ๋„์‹œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ N(2 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” ์ธ์ ‘ํ•œ ๋‘ ๋„์‹œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š”

st-lab.tistory.com

 

 

๋ฌธ์ œ ํ•ด๊ฒฐ ์ฝ”๋“œ

๋”๋ณด๊ธฐ
import java.io.BufferedReader
import java.io.InputStreamReader

fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
    val cityCnt = readLine().toInt()
    val road = readLine().split(" ").map { it.toLong() }
    val gasStation = readLine().split(" ").map { it.toLong() }
    var cost = 0L
    var toAddGas = gasStation[0]

    for (i in road.indices) {
        if (gasStation[i] < toAddGas) toAddGas = gasStation[i]

        cost += toAddGas * road[i]
    }

    println(cost)
}

 

๋ฌธ์ œ ํ’€์ด

๋„๋กœ์˜ ์ •๋ณด(road)์™€ ๋ฆฌํ„ฐ ๋‹น ๊ธฐ๋ฆ„์˜ ๊ฐ€๊ฒฉ(gasStation)์„ ๋ฐ›๊ณ , ์กฐ๊ฑด 1์— ๋”ฐ๋ผ toAddGas๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  cost์— toAddGas์™€ ๋„๋กœ์˜ ๊ธธ์ด๋ฅผ ๊ณฑํ•œ ์ˆ˜๋งŒํผ ๋ˆ„์ ํ•ด์„œ ๋”ํ•ด์ค€๋‹ค.

 

 

๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •

๋„๋กœ์™€ ๋ฆฌํ„ฐ๋‹น ๊ธฐ๋ฆ„๊ฐ’์˜ ์ œํ•œ์ด 100์–ต์ด๋ผ์„œ int๋กœ ํ•˜๋ฉด ๋ฌด์กฐ๊ฑด ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•˜๊ฒŒ ๋œ๋‹ค.

๊ทธ๋ž˜์„œ Longํƒ€์ž…์œผ๋กœ ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ๋งŒ ์กฐ์‹ฌํ•˜๋ฉด ๋ฌธ์ œ๋ฅผ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

728x90