ํํ์ (2358๋ฒ)
Silver 4
#์๋ฃ ๊ตฌ์กฐ #์ ๋ ฌ #ํด์๋ฅผ ์ฌ์ฉํ ์งํฉ๊ณผ ๋งต
https://www.acmicpc.net/problem/2358
๋ฌธ์ ๋ด์ฉ
๋ฌธ์ ์ ๊ทผ
2๊ฐ ์ด์์ ์ ์ ์ง๋๋ ์ ๋ถ์์ x์ถ ๋๋ y์ถ์ ํํํ ์ ๋ถ์ ๊ฐ์๋ฅผ ์ธ๋ ๋ฌธ์ .
์ ๋ถ์ ๊ตฌ์ฑ์ด 2๊ฐ ์ด์์ ์ ์ ์ง๋ ์๋ ์๊ณ , ํ ์ขํ์ ์ ์ด ์ฌ๋ฌ ๊ฐ๊ฐ ์์ ์๋ ์๋ค.
// ์ ๋ถ์ ๊ตฌ์ฑ์ 2๊ฐ ์ด์์ ์ ์ด ์ฐ์ด๋ ๊ฒฝ์ฐ
4
1 0
2 0
3 0
4 0
์ ๋ต: 1
// ํ ์ขํ์ ์ฌ๋ฌ ์ ์ด ์๋ ๊ฒฝ์ฐ
2
1 1
1 1
์ ๋ต: 2
์ฒซ ๋ฒ์งธ case๊ฐ ์ดํดํ๊ธฐ ์ด๋ ค์ ๋ค.
๋ฌธ์ ๋ฅผ ์ฒ์ ์ฝ์์ ๋๋ 2๊ฐ ์ด์์ ์ ์ ์ง๋๋ ์ ๋ถ์ด๋ผ๋ ๊ฒ์ ๋ชป ๋ณด๊ณ 2๊ฐ์ ์ ์ ์ง๋๋ ์ ๋ถ์ด๋ผ๊ณ ์๊ฐํด์ ์ 1๊ฐ๊ฐ ๋์ค๋์ง ํท๊ฐ๋ ธ๋ค.
case 1์ ๊ฒฝ์ฐ์๋ ์ 4๊ฐ๋ฅผ ์ฐ๊ฒฐํ y์ถ๊ณผ ํํํ ์ ๋ถ 1๊ฐ๋ง ์กด์ฌํ๊ฒ ๋๋ค.
case 2์ ๊ฒฝ์ฐ์๋ ์ขํ๊ฐ 1๊ฐ์ด์ง๋ง 2๊ฐ์ ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฌดํ๋์ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ๊ฒ ๋๋ค.
๋ฌดํ๋์ ๊ฒฝ์ฐ๋ค ์ค์์ x, y์ถ๊ณผ ํํํ๋ ๊ฒฝ์ฐ๊ฐ 1๊ฐ์ง์ฉ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ ๋ต์ด 2์ด๋ค.
case๋ค์ ๋ณด๊ณ x ๋๋ y ๊ฐ์ด ๊ฐ์ ์ ๋ค์ ๋ฌถ์ผ๋ฉด ๋์ง ์์๊น ํ๊ณ ์๊ฐ์ด ๋ค์๋ค.
๋ฌถ์ ์ขํ๋ค์ ๊ฐ์๊ฐ 2๊ฐ๋ณด๋ค ๋ง์ผ๋ฉด ์ ๋ถ์ ๊ตฌ์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ 2๊ฐ ์ด์์ธ ๊ฒฝ์ฐ์๋ง ์นด์ดํธ๋ฅผ ๋๋ ค์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ด์ฉํ๋ค.
๋ฌธ์ ํด๊ฒฐ ์ฝ๋
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val points = readLine().toInt()
val xMap = mutableMapOf<Int, Int>()
val yMap = mutableMapOf<Int, Int>()
for (i in 0 until points) {
val (coordinateX, coordinateY) = readLine().split(" ").map { it.toInt() }
if (!xMap.containsKey(coordinateX)) xMap[coordinateX] = 1
else xMap[coordinateX] = xMap[coordinateX]!! + 1
if (!yMap.containsKey(coordinateY)) yMap[coordinateY] = 1
else yMap[coordinateY] = yMap[coordinateY]!! + 1
}
var answer = 0
for (x in xMap) {
if (x.value >= 2) answer++
}
for (y in yMap) {
if (y.value >= 2) answer++
}
println(answer)
}
๋ฌธ์ ํ์ด
์ ๋ ฅ๋ ๊ฐ์ x ๋๋ y์ขํ๊ฐ ๋ช ๊ฐ์ธ์ง ํ์ธํ map์ ์์ฑํด ์ฃผ์๋ค.
์ ๋ ฅ๊ฐ์์ x, y์ขํ๊ฐ์ด ๊ฐ์ ์ขํ๊ฐ 2๊ฐ ์ด์ ์์ผ๋ฉด ํํ์ ์ ๊ฐ์(answer)๋ฅผ ๋๋ ค ์ค๋ค.
๋ฌธ์ ์ ๊ทผ์ case๋ค์ ๋ค์๊ณผ ๊ฐ์ด map์ด ๊ตฌ์ฑ๋๊ฒ ๋๋ค.
case 1์ ๊ฒฝ์ฐ๋ ๊ฐ x์ ๊ฐ์๊ฐ 2๊ฐ๊ฐ ๋์ง ์๊ธฐ ๋๋ฌธ์ ์ ์ ์ฐ๊ฒฐํ ์ ์๋ค.
case 2์ ๊ฒฝ์ฐ๋ x, y์ ๊ฐ์๊ฐ 2๊ฐ์ด๊ธฐ ๋๋ฌธ์ ํํ์ ์ ๊ตฌ์ฑํ ์ ์๋ค.
๋ฌธ์ ํด๊ฒฐ ๊ณผ์
๋ฌธ์ ๋ฅผ ์ฒ์ ๋ดค์ ๋๋ ๋ณ์๊ฐ ์์ด ๊ตฌํํ๋๋ฐ, ๋ฐ๋ก๋ฅผ ์ฐพ์๋ณด๋ ค๊ณ ๊ฒ์ํ์ ๋ค์ด๊ฐ๋๊น ๊ณผ๊ฑฐ์ ์ด ๋ฌธ์ ์ ๋ถ๋ง์ด ์๋นํ๋ ๊ฒ ๊ฐ๋ค.
๊ฒ์ํ์์ ์ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ด์ ์ ์๋ ๊ฒ๊ณผ ํ ์ขํ์ ์ ์ด ์ฌ๋ฌ ๊ฐ ์ฌ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋๊ณ ์ฝ๋๋ฅผ ์ฒ์๋ถํฐ ๋ค์ ์ง๊ฒ ๋์๋ค.
๊ฒ์ํ์ ๋ณด๊ณ ๋ฌธ์ ๋ฅผ ๋ค์ ์์ธํ ์ฝ๊ณ ๋์ ํด๊ฒฐํ ์ ์์๋ค.
์์ด๋์ด๋ฅผ ๋ ์ฌ๋ฆฌ์ง ๋ชปํ๋ฉด silver 4 ์ด์์ ๋์ด๋๋ฅผ ๊ฐ์ง ์ ์๋ ๋ฌธ์ ๊ฐ๋ค.
'๐ฏ | ๋ฐฑ์ค > ๐ | Silver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin, S2] ๋ฐฑ์ค 2232๋ฒ ์ง๋ขฐ (0) | 2024.10.21 |
---|---|
[Kotlin, S2] ๋ฐฑ์ค 14430๋ฒ ์์ ์บ๊ธฐ (0) | 2024.09.30 |
[Kotlin, S5] ๋ฐฑ์ค 32344๋ฒ ์ ๋ฌผ ๋ฐ๊ตด (0) | 2024.09.23 |
[Kotlin, S4] ๋ฐฑ์ค 9242๋ฒ ํญํ ํด์ฒด (0) | 2024.09.20 |
[Kotlin, S2] ๋ฐฑ์ค 18352๋ฒ ํน์ ๊ฑฐ๋ฆฌ์ ๋์ ์ฐพ๊ธฐ (0) | 2024.09.10 |