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

[Kotlin, S5] ๋ฐฑ์ค€ 1813๋ฒˆ ๋…ผ๋ฆฌํ•™ ๊ต์ˆ˜

by immgga 2024. 8. 16.

์ถœ์ฒ˜: unsplash.com

 

๋…ผ๋ฆฌํ•™ ๊ต์ˆ˜(1813๋ฒˆ)

Silver 5

#์• ๋“œ ํ˜น

 

๋ฌธ์ œ ๋‚ด์šฉ

 

 

๋ฌธ์ œ ์ ‘๊ทผ

์ž…๋ ฅ๋ฐ›๋Š” ์ˆซ์ž๊ฐ€ i์ด๋ฉด i๊ฐœ์˜ ๋ง์€ ์ฐธ์ด๋‹ค๋ผ๋Š” ๋œป์ด๋‹ค.

i๊ฐœ์˜ ๋ง์ด ์ฐธ์ด ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” i๊ฐ€ 2๋ผ๋ฉด 2๊ฐœ์˜ ๋ง์ด ์ฐธ์ด ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ด ๋ฌธ์žฅ์€ ๊ฑฐ์ง“์ด ๋œ๋‹ค.

๋‹ค๋ฅด๊ฒŒ ๋งํ•˜๋ฉด "์ •ํ™•ํ•˜๊ฒŒ 2๊ฐœ์˜ ๋ฌธ์žฅ์ด ์ฐธ์ด๋‹ค." ๋ผ๋Š” ๋ง์€ ์ž…๋ ฅ๋ฐ›์€ ๋ง๋“ค ์ค‘์—์„œ 2๊ฐœ๋งŒ ์ฐธ์ผ ๋•Œ๋งŒ ์ฐธ์ด ๋œ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฏ€๋กœ, ์ž…๋ ฅ๊ฐ’(i)์˜ ๋นˆ๋„ ์ˆ˜๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ฐธ์ด ๋˜๊ฒŒ ๋œ๋‹ค.

ํ•˜์ง€๋งŒ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์ด ์žˆ๋‹ค. ๋ชจ์ˆœ(-1)์ธ ๊ฒฝ์šฐ์™€ ๋ชจ์ˆœ์ด ์•„๋‹ˆ์ง€๋งŒ ์ฐธ์ด ํ•˜๋‚˜๋„ ์—†์–ด์„œ 0์ธ ๊ฒฝ์šฐ์ด๋‹ค.

-1์ธ ๊ฒฝ์šฐ๋Š” ์ž…๋ ฅ ์˜ˆ์ œ 2์˜ ๊ฒฝ์šฐ์ด๋‹ค.

1
0

์œ„์˜ ๊ฒฝ์šฐ์—๋Š” "์ •ํ™•ํ•˜๊ฒŒ 0๊ฐœ์˜ ๋ฌธ์žฅ์ด ์ฐธ์ด๋‹ค." ๋ผ๊ณ  ๋งํ•˜๋Š” ๋ฌธ์žฅ์ด 1๊ฐœ๊ฐ€ ์žˆ๋‹ค๊ณ  ๋งํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ์ˆœ์ ์ด๋‹ค๋ผ๊ณ  ํ•˜๋Š” ๋“ฏํ•˜๋‹ค.

 

์ •๋‹ต์ด 0์ธ ๊ฒฝ์šฐ์—๋Š” ์˜ˆ์ œ ์ž…๋ ฅ 4๊ฐ€ ์žˆ๋‹ค.

2
1 1

"์ •ํ™•ํ•˜๊ฒŒ 1๊ฐœ์˜ ๋ฌธ์žฅ์ด ์ฐธ์ด๋‹ค." ๋ผ๋Š” ๋ฌธ์žฅ์ด 2๊ฐœ ์žˆ์–ด์„œ ๋ชจ์ˆœ์€ ์•„๋‹ˆ์ง€๋งŒ ์ฐธ์ธ ๋ฌธ์žฅ์„ ํ•˜๋‚˜๋„ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ •๋‹ต์€ 0์ด๋‹ค.

 

 

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

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

fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
    val case = readLine().toInt()
    val bool = readLine().split(" ").map { it.toInt() }
    var max = -1

    for (i in 0 .. case) {
        val cnt = bool.filter { it == i }.size

        if (i == cnt) max = max(max, cnt)
    }

    println(max)
}

 

๋ฌธ์ œ ํ’€์ด

์ดˆ๊ธฐ๊ฐ’์„ -1๋กœ ๊ฐ€์ง€๋Š” ๋ณ€์ˆ˜ max๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ดํ›„์— ์˜ฌ ์กฐ๊ฑด๋“ค์„ ๋ชจ๋‘ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๋ฉด ๋ชจ์ˆœ์ด ๋˜๋Š” ์ƒํ™ฉ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ -1์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

์ด์ œ ์ž…๋ ฅ๊ฐ’๋“ค์˜ ๋นˆ๋„๋ฅผ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค.

๋นˆ๋„๋Š” filter๋ฅผ ์ด์šฉํ•ด ๊ฐ’์„ ๊ฑธ๋Ÿฌ์ฃผ๊ณ  size๋ฅผ ๋ถ™์—ฌ ์ฃผ๋ฉด ๋นˆ๋„๊ฐ’์ด ๋œ๋‹ค.

๊ทธ ๊ฐ’์ด ํ˜„์žฌ ๋ฐ˜๋ณต๋˜๋Š” i์™€ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ฐธ์ด ๋œ๋‹ค.

์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— max()๋ฅผ ์‚ฌ์šฉํ•ด ์ค€๋‹ค. 0์ธ ๊ฒฝ์šฐ์—๋Š” -1์ด 0๋ณด๋‹ค ์ž‘๊ธฐ ๋•Œ๋ฌธ์— 0์ด ์ •์ƒ์ ์œผ๋กœ ๋“ค์–ด๊ฐˆ ๊ฒƒ์ด๋‹ค.

 

 

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

๋ฌธ์ œ ์ดํ•ด๊ฐ€ ์ด ๋ฌธ์ œ๋ฅผ silver์— ์žˆ๊ฒŒ ํ•˜๋Š” ์›์ธ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค.

๋‚˜๋„ ๋ฌธ์ œ๊ฐ€ ๋„์ €ํžˆ ์ดํ•ด๊ฐ€ ์•ˆ๋ผ์„œ ์ž…๋ ฅ ์˜ˆ์ œ 3์„ ๋ณด๊ณ  ํžŒํŠธ๋ฅผ ์–ป๊ฒŒ ๋˜์—ˆ๋‹ค. ์ž…๋ ฅ ์˜ˆ์ œ 3์„ ๋ณด๊ณ  3์ด 3๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ •๋‹ต์ด 3์ธ๊ฐ€?๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ฒฐ๊ตญ์—๋Š” ์ •๋‹ต์— ๊ทผ์ ‘ํ•˜๊ธด ํ–ˆ์ง€๋งŒ ๋‹ค๋ฅธ ์˜ˆ์ œ๋“ค๋กœ๋Š” ์ด ๊ฐ€์„ค์ด ๋งž๋Š”์ง€ ํ™•์‹ ํ•  ์ˆ˜๊ฐ€ ์—†์–ด์„œ ํ’€์ด๋ฅผ ์ฐพ์•„๋ณด์•˜๋‹ค.

์†”์งํžˆ ์ง€๊ธˆ๋„ ์ •ํ™•ํžˆ ์™œ ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ํ’€๋ฆฌ๋Š”์ง€ ์ดํ•ด๊ฐ€ ์•ˆ ๋œ๋‹ค.

์ž…๋ ฅ๊ฐ’์„ ์ˆœ์„œ๋Œ€๋กœ ๋ณด๋Š” ๊ฒŒ ์•„๋‹Œ ์ „์ฒด๋ฅผ ๋ด์•ผ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

์ฒ˜์Œ์—๋Š” ์ž…๋ ฅ๊ฐ’์„ ์ˆœ์„œ๋Œ€๋กœ ๋ด์„œ ์˜ˆ์ œ ์ž…๋ ฅ 3์˜ ๊ฒฝ์šฐ์—๋Š” 0๋ถ€ํ„ฐ "์ •ํ™•ํžˆ 0๊ฐœ์˜ ๋ฌธ์žฅ์ด ์ฐธ์ด๋‹ค." ์ด๋ฏ€๋กœ ์ด ๋ฌธ์žฅ์€ ์ฐธ์ด๋‹ค. ๊ทธ๋‹ค์Œ์€ "3์ด๋‹ˆ๊นŒ ์ •ํ™•ํžˆ 3๊ฐœ์˜ ๋ฌธ์žฅ์ด ์ฐธ์ด๋‹ค." ์ด๋ฏ€๋กœ ์ด ๋ฌธ์žฅ์€ ๊ฑฐ์ง“์ด๋‹ค. ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์€ ์ž˜๋ชป๋œ ๋ฐฉ์‹์ด๋‹ค.

728x90