๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ฏ | ๋ฐฑ์ค€/๐Ÿ˜€ | Bronze

[Kotlin, B2] ๋ฐฑ์ค€ 31215๋ฒˆ ์ด์ƒํ•œ ์„ž๊ธฐ ์—ฐ์‚ฐ

by immgga 2024. 8. 7.

์ถœ์ฒ˜: unsplash.com

 

์ด์ƒํ•œ ์„ž๊ธฐ ์—ฐ์‚ฐ(31215๋ฒˆ)

Bronze 2

#์• ๋“œ ํ˜น

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

 

๋ฌธ์ œ ๋‚ด์šฉ

 

 

๋ฌธ์ œ ์ ‘๊ทผ

1๋ถ€ํ„ฐ n๊นŒ์ง€ ์‹œ์ž‘ํ•˜๋Š” ์ˆ˜์—ด B๊ฐ€ ์žˆ๋‹ค. n์ด 5๋ฉด 1, 2, 3, 4, 5๋กœ ๊ตฌ์„ฑ๋˜๋Š” ์ˆ˜์—ด์ด ๋œ๋‹ค.

k๊นŒ์ง€์˜ ์ˆ˜์—ด์ด ์žˆ์„ ๋•Œ, k์˜ ์•ฝ์ˆ˜์—์„œ ๊ฐ€์žฅ ํฐ 2์˜ ์ œ๊ณฑ์ˆ˜๊ฐ€ l์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด k = 4์ผ ๋•Œ, 4์˜ ์•ฝ์ˆ˜๋Š” 1, 2, 4์ด๊ณ , ์—ฌ๊ธฐ์„œ ๊ฐ€์žฅ ํฐ 2์˜ ์ œ๊ณฑ์ˆ˜์ธ l์€ 4์ด๋‹ค(2์˜ 2์Šน).

k๊ฐ€ 3์ธ ๊ฒฝ์šฐ์—๋Š” 3์˜ ์•ฝ์ˆ˜ 1, 3์—์„œ ๊ฐ€์žฅ ํฐ 2์˜ ์ œ๊ณฑ์ˆ˜๋Š” 2์˜ 0์Šน์ธ 1์ด ๋œ๋‹ค.

l์„ ๊ตฌํ•˜๊ณ  ๋‚˜๋ฉด ์ˆ˜์—ด์˜ k๋ฒˆ์งธ index์™€ l๋ฒˆ์งธ index๋ฅผ ๊ตํ™˜ํ•œ๋‹ค.

์•„ ๊ณผ์ •์ด ๋ฌธ์ œ์— ์–ธ๊ธ‰๋œ ์ด์ƒํ•œ ์„ž๊ธฐ ์—ฐ์‚ฐ์ด๋‹ค.

 

์ด์ƒํ•œ ์„ž๊ธฐ ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋ณ€๊ฒฝํ•œ ์ˆ˜์—ด์—์„œ 1์ด ๋“ค์–ด ์žˆ๋Š” index๋ฅผ ๊ตฌํ•ด ๋ณด์ž.

์‚ฌ์ง„ 1-1

์ˆ˜์—ด์˜ ๋ณ€๋™์€ 1๋ถ€ํ„ฐ k๊นŒ์ง€ ๋ฐ˜๋ณต๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด์— ๋ณ€๊ฒฝ๋œ ์ˆ˜์—ด์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

k = 1์˜ ๊ฒฝ์šฐ ์•ฝ์ˆ˜๊ฐ€ 1 ํ•˜๋‚˜๋ฐ–์— ์—†์–ด์„œ ๊ฐ€์žฅ ํฐ 2์˜ ์ œ๊ณฑ์ˆ˜๋Š” 1์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์—ด์ด ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

k = 2์˜ ๊ฒฝ์šฐ์—๋Š” ์•ฝ์ˆ˜๊ฐ€ 1, 2์ด๊ณ  ๊ฐ€์žฅ ํฐ ์ œ๊ณฑ์ˆ˜๊ฐ€ 2์ด์ง€๋งŒ, k์™€ l์ด ๊ฐ™์•„์„œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜์ง€ ๋ชปํ•ด ์ˆ˜์—ด์ด ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

k = 3์ธ ๊ฒฝ์šฐ๋Š” ์•ฝ์ˆ˜๊ฐ€ 1, 3์ด๊ณ  ๊ฐ€์žฅ ํฐ ์ œ๊ณฑ์ˆ˜๊ฐ€ 1์ด๋ผ์„œ k๋ฒˆ์งธ index์˜ ๊ฐ’๊ณผ l๋ฒˆ์งธ ๊ฐ’์ด ๋ฐ”๋€Œ๊ธฐ ๋•Œ๋ฌธ์— ์œ„ ํ‘œ์™€ ๊ฐ™์€ ํ˜•ํƒœ๊ฐ€ ๋‚˜์˜จ๋‹ค.

4, 5, 6์˜ ๊ฒฝ์šฐ์—๋„ k์™€ l๋ฒˆ์งธ index์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด ์ฃผ๋Š” ์ž‘์—…์„ ํ•ด์ฃผ์—ˆ๋‹ค.

์œ„ ํ‘œ๋ฅผ ๋ณด๋ฉด ๊ณตํ†ต์ ์ด ์žˆ๋‹ค.

1์˜ ๊ฐ’์ด k๊ฐ€ 1, 2์ผ ๋•Œ๋ฅผ ์ œ์™ธํ•˜๋ฉด ๋ชจ๋‘ 3๋ฒˆ์งธ index์— ์žˆ๋‹ค.
k๊ฐ€ 1, 2์ผ ๋•Œ๋Š” ๋ฌด์กฐ๊ฑด 1๋ฒˆ์งธ index์— ์กด์žฌํ•œ๋‹ค.

 

์• ์ดˆ์— 1์ด 3์œผ๋กœ ์ด๋™ํ•˜๊ฒŒ ๋˜๋ฉด์„œ k ๋˜๋Š” l์ด 3์ด ๋˜์–ด์•ผ 1์˜ ์œ„์น˜๊ฐ€ ๋ณ€ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ,

1์ด 3๋ฒˆ์งธ index๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ k๊ฐ€ 3์ผ ๋•Œ์ด๊ณ , ๊ทธ ์ดํ›„๋กœ๋Š” l์ด 3์ด ๋ผ์•ผ ํ•˜๋Š”๋ฐ l์€ 2์˜ ์ œ๊ณฑ์ˆ˜์—ฌ์•ผ ํ•ด์„œ ํ™€์ˆ˜๊ฐ€ ์˜ฌ ์ˆ˜ ์—†๋‹ค.

๊ทธ๋ž˜์„œ ์ €๋ ‡๊ฒŒ ์ผ์ผ์ด ๊ณ„์‚ฐํ•  ํ•„์š” ์—†์ด ๊ทœ์น™์„ ์ฐพ์•„์„œ ์ •๋‹ต์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

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

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

fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
    val case = readLine().toInt()
    val res = StringBuilder()

    for (i in 0 until case) {
        val num = readLine().toInt()

        if (num >= 3) res.append("3\n")
        else res.append("1\n")
    }

    println(res)
}

 

๋ฌธ์ œ ํ’€์ด

num์ด 3๋ณด๋‹ค ํด ๋•Œ๋งŒ 3์„ ์ถœ๋ ฅํ•˜๊ณ , 1, 2์ผ ๋•Œ๋Š” 1์„ ์ถœ๋ ฅํ•˜๋ฉด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

StringBuilder๋ฅผ ์“ด ์ด์œ ๋Š” ์ถœ๋ ฅ์ด ๋ณ„๋„์˜ ์ค„๋กœ ์ถœ๋ ฅํ•˜๋ผ ํ•ด์„œ ์“ด ๊ฒƒ์ด๋‹ค.

println์„ ์จ๋„ ๋ฌธ์ œ๊ฐ€ ์—†๋”๋ผ.

์œ„๊ฐ€ println()์„ ์“ด ๊ฑฐ๊ณ , ์•„๋ž˜๋Š” StringBuilder๋ฅผ ์“ด ๊ฒƒ์ด๋‹ค.

ํ™•์‹คํžˆ StringBuilder๊ฐ€ ๋น ๋ฅด๊ธด ํ•˜๋‹ค.

 

 

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

๊ตฌํ˜„ ์ž์ฒด๋Š” ๋ธŒ๋ก ์ฆˆ 5์ง€๋งŒ k๊ฐ€ 3 ์ดํ›„์ผ ๋•Œ๋Š” 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ์ด ์ ˆ๋Œ€ 3์ด ๋‚˜์˜ฌ ์ˆ˜๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•„์•ผ ํ•˜๋Š” ๋ฌธ์ œ๋ผ์„œ ๋ธŒ๋ก ์ฆˆ 2๋กœ ๋ ˆ์ดํŒ… ๋œ ๋“ฏํ•˜๋‹ค.

๋‚˜๋„ ์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ๋ณผ ๋•Œ ์ด๊ฑธ ๋‹ค ๋ฐ˜๋ณตํ•ด์„œ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ƒ๊ฐ์„ ํ–ˆ์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ธŒ๋ก ์ฆˆ ๋ฌธ์ œ๊ฐ€ ๊ทธ๋Ÿด ๋ฆฌ๊ฐ€ ์—†๋‹ค ์ƒ๊ฐํ•ด์„œ ํ•ด์„ค์ง€์—์„œ ํžŒํŠธ๋ฅผ ์ฐพ์•„๋ดค๋Š”๋ฐ๋„ ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ํž˜๋“ค์–ด์„œ

์‚ฌ์ง„ 1-1์˜ ํ‘œ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ทœ์น™์„ ์ฐพ๊ฒŒ ๋˜์—ˆ๋‹ค.

๋จธ๋ฆฌ๊ฐ€ ์ž˜ ๊ตด๋Ÿฌ๊ฐ„๋‹ค๋ฉด ๋‚ ๋จน ๋ฌธ์ œ๊ฐ€ ๋˜๊ณ  ์•„๋‹ˆ๋ผ๋ฉด ํž˜๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ.

728x90