๊ตํต๋(11116๋ฒ)
Silver 5
#๊ตฌํ #๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
๋ฌธ์ ๋ด์ฉ
๋ฌธ์ ์ ๊ทผ
๋ค๋ฆฌ์ ์ผ์ชฝ์์ ์ค๋ ์ฐจ๋ค(๋ค์ด์ค๋ ์ฐจ)์ ์๊ฐ๊ณผ ์ค๋ฅธ์ชฝ์ผ๋ก ๋๊ฐ๋ ์ฐจ๋ค์ ์๊ฐ์ด ์ฃผ์ด์ก์ ๋, ๋ฌธ์ ์ ์ธ๊ธ๋ ๊ท์น์ ์ด์ฉํด ๋ค๋ฆฌ๋ฅผ ์ง๋ ์ฐจ๋ค์ด ๋ช ๋์ธ์ง ๊ตฌํ๋ฉด ๋๋ค.
์ผ์ชฝ์์ ์ค๋ ์ฐจ์ ์๊ฐ์ด t, t + 500์ด๊ณ , ์ค๋ฅธ์ชฝ์ผ๋ก ๋๊ฐ ์๊ฐ์ด t + 1000, t + 1500์ด ์๋ ๊ฒฝ์ฐ๊ฐ ๋ค๋ฆฌ๋ฅผ ์ง๋ ์ฐจ๊ฐ ๋๋ค.
๋ฌธ์ ํด๊ฒฐ ์ฝ๋
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() {
val bf = BufferedReader(InputStreamReader(System.`in`))
val n = bf.readLine().toInt()
for (i in 0 until n) {
val m = bf.readLine().toInt()
val left = bf.readLine().split(" ").map { it.toInt() }.toMutableList()
val right = bf.readLine().split(" ").map { it.toInt() }.toMutableList()
var answer = 0
while (left.isNotEmpty()) {
val start = left.first()
if (left.contains(start + 500) && right.contains(start + 1000) && right.contains(start + 1500)) {
answer++
left.remove(start + 500)
}
left.removeFirst()
}
println(answer)
}
}
๋ฌธ์ ํ์ด
t๋ฅผ start๋ก ์ก์ ๋ค์์ left์ start + 500์ด ํฌํจ๋์ด ์๋์ง, ์ค๋ฅธ์ชฝ์ start + 1000, start + 1500์ด ํฌํจ๋์ด ์๋์ง ํ์ธํ๋ ์์ ์ ์งํํ๋ค.
๋ฌธ์ ํด๊ฒฐ ๊ณผ์
๋ฌธ์ ๋ฅผ ์ดํดํ๋ ๋ฐ ์๊ฐ์ด ์ข ๊ฑธ๋ ธ๋ค.
๋ฌธ์ ์ดํด ์ด์ ์๋ ์ผ์ชฝ -> ์ค๋ฅธ์ชฝ์ผ๋ก ๊ฐ๋ ๊ฒฝ์ฐ์ ์ค๋ฅธ์ชฝ -> ์ผ์ชฝ์ผ๋ก ๊ฐ๋ ๊ฒฝ์ฐ๋ ํ์ธํด์ผ ๋๋ ๊ฒ์ผ๋ก ์ฐฉ๊ฐํ๋ค.
'๐ฏ | ๋ฐฑ์ค > ๐ | Silver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin, S2] ๋ฐฑ์ค 2232๋ฒ ์ง๋ขฐ (0) | 2024.10.21 |
---|---|
[Kotlin, S2] ๋ฐฑ์ค 14430๋ฒ ์์ ์บ๊ธฐ (0) | 2024.09.30 |
[Kotlin, S4] ๋ฐฑ์ค 2358๋ฒ ํํ์ (0) | 2024.09.26 |
[Kotlin, S5] ๋ฐฑ์ค 32344๋ฒ ์ ๋ฌผ ๋ฐ๊ตด (0) | 2024.09.23 |
[Kotlin, S4] ๋ฐฑ์ค 9242๋ฒ ํญํ ํด์ฒด (0) | 2024.09.20 |