๊ฐํฌ์ผ ๊ฑฐ๊ธฐ์ ์๋ ๊ฑฐ ์๋์ผ(21771๋ฒ)
Bronze 1
#๊ตฌํ #๋ฌธ์์ด
https://www.acmicpc.net/problem/21771
๋ฌธ์ ๋ด์ฉ
๋ฌธ์ ์ ๊ทผ
๊ฐํฌ(G)์ ๋ฒ ๊ฐ(P)๊ฐ ์ ๋ ฅ๋ ๋, ๊ฐํฌ๊ฐ ๋ฒ ๊ฐ ์์ ์์ผ๋ฉด 1, ์๋๋ฉด 0์ ์ถ๋ ฅ
๋ฒ ๊ฐ ์์ ์๋ ์กฐ๊ฑด์ด G๊ฐ P์ ๊ฑธ์ณ ์์ด๋ ๋ฒ ๊ฐ ์์ ์๋ค๊ณ ์น๋ค.
1์ด ์ถ๋ ฅ๋๋ ค๋ฉด P์ ์์ญ ์์ G๊ฐ ์์ด์ผ ํ๋ค.
๊ทธ๊ฒ์ ํ์ธํ๊ธฐ ์ํด์๋ P์ ๊ฐ์๋ฅผ ์ธ๋ฉด ์ฝ๊ฒ ์์๋ผ ์ ์๋ค.
P์ ๊ฐ์๊ฐ P ์์ญ์ ๋์ด๋ณด๋ค ์์ผ๋ฉด G๊ฐ P ์์ญ ์์ ์๋ค๋ ๊ฒ์ ๋ปํ๋ค.
์ ๋ ฅ ์์ 1์ ์๋ก ๋ค์ด ๋ณด์.
11 11
5 4 6 10
....GGGG...
....GGGG...
....GGGG...
.PPPGGGGPPP
.PPPGGGGPPP
.PPPPPPPPPP
.PPPPPPPPPP
.PPPPPPPPPP
.PPPPPPPPPP
...........
...........
๋ฒ ๊ฐ์ ์์ญ์ ์ด 60๊ฐ(6 * 10)์ด๋ค. ์ฌ๊ธฐ์ P์ ๊ฐ์๋ 60 - 8 = 52๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๊ฐํฌ(G)๊ฐ P ์์ญ ์์ ์์ด์ P์ ๊ฐ์๊ฐ ์ค์ด๋ ๊ฒ์ด๋ค.
P์ ๊ฐ์๊ฐ ์ค์ด๋๋ ค๋ฉด ๋ฌด์กฐ๊ฑด G๊ฐ ํฌํจ๋์ด ์์ด์ผ ํ๋ค.
๋ฌธ์ ํด๊ฒฐ ์ฝ๋
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val (roomH, roomW) = readLine().split(" ").map { it.toInt() }
val (dogH, dogW, pillowH, pillowW) = readLine().split(" ").map { it.toInt() }
var pTotalCnt = 0
for (i in 0 until roomH) {
val roomInput = readLine()
pTotalCnt += roomInput.filter { it == 'P' }.length
}
if (pTotalCnt < pillowW * pillowH) println(1)
else println(0)
}
๋ฌธ์ ํ์ด
๋ฒ ๊ฐ์ ๋์ด๋ฅผ pillowH, pillowW์ ๊ณฑ์ผ๋ก ๊ตฌํ๊ณ , P์ ๊ฐ์๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด์ ๊ฐ์๋ฅผ ์ธ์ค๋ค.
P์ ๊ฐ์๊ฐ ๋ฒ ๊ฐ์ ๋์ด๋ณด๋ค ์์ผ๋ฉด ๊ฐํฌ๊ฐ ๋ฒ ๊ฐ ์์ ์๋ค๋ ๋ป์ด๋ค.
๋ฌธ์ ํด๊ฒฐ ๊ณผ์
P์ ๊ฐ์๋ง ์ธ๋ ๊ตฌํ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ซ์ง ๋ชปํด์ ๊ฐํฌ๊ฐ ๋ฒ ๊ฐ์ ์์ ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ์กฐ๊ฑด์ผ๋ก ์ก์์ ํ๋ณํ๋ ์ฝ๋๋ฅผ ์์ฑํ์๋ค.
์๋์ ์ฝ๋๋ฅผ ๋จ๊ฒจ ๋๊ฒ ๋ค.
์ด ์ฝ๋๋ ์ ๋ต ์ฝ๋์ด๋ค.
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val (roomH, roomW) = readLine().split(" ").map { it.toInt() }
val (dogH, dogW, pillowH, pillowW) = readLine().split(" ").map { it.toInt() }
var answer = 0
var gCnt = 0
var pTotalCnt = 0
for (i in 0 until roomH) {
val roomInput = readLine()
gCnt += roomInput.filter { it == 'G' }.length
pTotalCnt += roomInput.filter { it == 'P' }.length
if (roomInput.contains('G') && roomInput.contains('P')) {
val pCnt = roomInput.filter { it == 'P' }.length
if (pCnt != pillowW) answer = 1
}
}
if (pTotalCnt < pillowW * pillowH && gCnt == dogW * dogH) answer = 1
println(answer)
}
P์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ๋ง์ผ๋ก๋ ํธํ๊ฒ ๋ต์ ๊ตฌํ ์ ์๋ค.
'๐ฏ | ๋ฐฑ์ค > ๐ | Bronze' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin, B1] ๋ฐฑ์ค 31432๋ฒ ์์๊ฐ ์๋ ์ 3 (0) | 2024.10.17 |
---|---|
[Kotlin, B1] ๋ฐฑ์ค 32343๋ฒ ๋๋ ๋ ๋นํธ (0) | 2024.09.23 |
[Kotlin, B1] ๋ฐฑ์ค 25551๋ฒ ๋ฉ์์ด ํฌ๋์ค (0) | 2024.09.13 |
[Kotlin] ๋ฐฑ์ค 10987๋ฒ ๋ชจ์์ ๊ฐ์ (0) | 2024.09.04 |
[Kotlin, B3] ๋ฐฑ์ค 15894๋ฒ ์ํ์ ์ฒด์ก๊ณผ๋ชฉ์ ๋๋ค (0) | 2024.09.03 |