์ ๋๋์ ํด์ฆ์ผ(20632๋ฒ)
Bronze 1
#๊ตฌํ #๋ฌธ์์ด
https://www.acmicpc.net/problem/20362
๋ฌธ์ ๋ด์ฉ
๋ฌธ์ ์ ๊ทผ
์ ๋ต์์ ์ฑํ ์ด ์ฌ๋ผ์ค๊ณ ๊ทธ ์ด์ ์ ์ ๋ต์์ ๊ฐ์ ์ฑํ ์ ์น ์ฌ๋๋ค์ด ๋ช ๋ช ์ธ์ง ๊ตฌํด์ผ ํ๋ค.
์ ๋ ฅ์ ์๊ฐ ์์๋๋ก ์ฃผ์ด์ง๊ณ ์ ๋ต์๊ฐ ์ ๋ ฅ๋๊ณ ๋์ ์ด์ ์ ์ฑํ ์ ์น ์ฌ๋๋ค ์ค ์ ๋ต์์ ๊ฐ์ ์ฑํ ์ ์น ์ฌ๋์ ๊ตฌํด์ผ ํ๋ค.
๊ทธ๋ฌ๋ฉด ์ ๋ ฅ์ ๋ฐ์ ๋ ์ ๋ต์๊ฐ ์ ๋ ฅ๋๋ฉด ์ ๋ต์๊ฐ ๋ช ๋ฒ์งธ ์ฑํ ์์ ์ ๋ ฅ๋์๋์ง, ์ ๋ต์ ๋ฌด์์ธ์ง ํ์ธ์ ํด์ค์ผ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ ๋ ฅ๋ฐ์ ์ฑํ ๋ค๊ณผ ์ฌ์ฉ์ ์ด๋ฆ์ ๋ชจ๋ List๋ก 2์ฐจ์ List์ ์ ์ฅํด ์ค๋ค.
2์ฐจ์ List๋ฅผ ๊ฑฐ๊พธ๋ก ๋๊ฒ ๋๋ฉด ๋ฐ๋ณต์ ๋ง์ง๋ง์ด ๊ฐ์ฅ ๋จผ์ ์ ๋ ฅ๋ ๊ฐ์ด ๋๊ณ ๊ฐ์ฅ ๋นจ๋ฆฌ ์ฌ๋ผ์จ ์ฑํ ์ด ๋๊ธฐ ๋๋ฌธ์ ์ ๋ต์ ์ด์ ์ ์ ๋ต์ ์ฌ๋ฆฐ ์ฌ์ฉ์๊ฐ ๋ช ๋ช ์ธ์ง ์ ์ ์๋ค.
๋ฌธ์ ํด๊ฒฐ ์ฝ๋
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val (case, correctPerson) = readLine().split(" ")
val chattingInfo = mutableListOf<List<String>>()
var correctIndex = 0
var correct = ""
for (i in 0 until case.toInt()) {
val (person, chatting) = readLine().split(" ")
if (person == correctPerson) {
correctIndex = i
correct = chatting
}
chattingInfo.add(listOf(person, chatting))
}
var disappoint = 0
for (i in correctIndex - 1 downTo 0) {
if (chattingInfo[i].last() == correct) disappoint++
}
println(disappoint)
}
๋ฌธ์ ํ์ด
์ฑํ ์ ์ ๋ ฅ๋ ์์๋๋ก chattingInfo์ ์ ์ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ฅํ๋ค๊ฐ ๋์ค์ ์ ๋ต์๊ฐ ์ ๋ ฅ๋๋ฉด ์ ๋ต ์ฑํ (correct)๊ณผ ๋ช ๋ฒ์งธ ์ฑํ (correctIndex)์ธ์ง ์ ์ฅํ๋ค.
๋ง์ง๋ง์ ๋ฐ๋ณต์ ์ญ์์ผ๋ก ์งํํด์ ์ ๋ต์ ์ด์ ์ ์ฑํ ์ค ์ ๋ต์์ ๊ฐ์ ์ฑํ ์ ์น ์ฌ๋๋ง ๊ตฌํด์ค๋ค.
๋ฌธ์ ํด๊ฒฐ ๊ณผ์
๋จ์ ๊ตฌํ ๋ฌธ์ .
map์ ์ด์ฉํ๋ฉด ๋ ์ฌ์ธ ๊ฒ ๊ฐ๊ธด ํ์ง๋ง map์ด ์ ๋ ฅ ์์ผ๋ก ์ ๋ค์ด์ค๋์ง ์ ์ ์์ด์ 2์ค List๋ฅผ ์ฌ์ฉํ๋ค.
'๐ฏ | ๋ฐฑ์ค > ๐ | Bronze' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin, B3] ๋ฐฑ์ค 15894๋ฒ ์ํ์ ์ฒด์ก๊ณผ๋ชฉ์ ๋๋ค (0) | 2024.09.03 |
---|---|
[Kotlin, B3] ๋ฐฑ์ค 3009๋ฒ ๋ค ๋ฒ์งธ ์ (0) | 2024.09.02 |
[Kotlin, B1] ๋ฐฑ์ค 15629๋ฒ Africa (0) | 2024.08.22 |
[Kotlin, B1] ๋ฐฑ์ค 1952๋ฒ ๋ฌํฝ์ด2 (0) | 2024.08.14 |
[Kotlin, B1] ๋ฐฑ์ค 16433๋ฒ ์ฃผ๋์ ๋น๊ทผ๋์ฅ (0) | 2024.08.07 |