반응형
백준 1234번 문제입니다. (solved.ac) 기준 브론즈 1 문제입니다.
https://www.acmicpc.net/problem/1236
1236번: 성 지키기
첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성의 상태가 주어진다. 성의 상태는 .은 빈칸, X는 경비원이 있는 칸이다
www.acmicpc.net
문제
문제 접근
성을 지키기 위하여 행, 열에는 반드시 경비원이 있어야 합니다. / .는 성이 빈칸이라는 상태이고 X는 경비원이 존재하는 상태입니다.
성의 크기를 입력받고, 해당 성을 행을 기준으로 탐색, 열을 기준으로 탐색을 진행합니다.
행을 기준으로 탐색했을 때 필요한 경비원의 수와 열을 기준으로 탐색했을 때 필요한 경비원의 수를 구한 후 둘 중 더 작은 값을 출력해주면 됩니다.
정답 코드
fun main(){
var (n, m) = readln().split(" ").map{ it.toInt() }
var castle = mutableListOf<MutableList<Char>>()
var rowGuard = 0
var colGuard = 0
repeat(n){
val row = readln().toMutableList()
castle.add(row)
}
// 행 탐색
for(i in 0 until n){
var hasGuard = false
for(j in 0 until m){
if(castle[i][j] == 'X'){
hasGuard = true
break
}
}
if(!hasGuard) {
rowGuard++
}
}
// 열 탐색
for(i in 0 until m){
var hasGuard = false
for(j in 0 until n){
if(castle[j][i] == 'X'){
hasGuard = true
break
}
}
if(!hasGuard) {
colGuard++
}
}
if(colGuard > rowGuard) println(colGuard)
else println(rowGuard)
}
반응형
'알고리즘 문제풀이[Algorithm]' 카테고리의 다른 글
[백준] 18312 시각(브루트포스 - 완전탐색)[Kotlin - 코틀린] (0) | 2022.07.01 |
---|---|
[백준] 1747 소수&팰린드롬(브루트포스 - 완전탐색)[Kotlin - 코틀린] (0) | 2022.06.30 |
[백준] 10448번 유레카 이론(브루트포스 - 완전탐색)[Kotlin - 코틀린] (0) | 2022.06.30 |
[백준] 1316번 그룹 단어 체커[Kotlin - 코틀린] (0) | 2022.06.28 |
[백준] 4949번 균형잡힌 세상(Stack - 스택)[Kotlin - 코틀린] (0) | 2022.06.25 |
최근댓글