본문 바로가기
BaekJoon/Bronze

[BOJ/JAVA] 백준 1236 : 성 지키기 (자바)

by HoonSikE 2023. 7. 27.
반응형
SMALL
문제 정보
  문제명   - 성 지키기
  난이도   - 브론즈 I
문제 번호 - 1236번

문제 링크

https://www.acmicpc.net/problem/1236

 

1236번: 성 지키기

첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성의 상태가 주어진다. 성의 상태는 .은 빈칸, X는 경비원이 있는 칸이다

www.acmicpc.net


문제
영식이는 직사각형 모양의 성을 가지고 있다. 성의 1층은 몇 명의 경비원에 의해서 보호되고 있다. 영식이는 모든 행과 모든 열에 한 명 이상의 경비원이 있으면 좋겠다고 생각했다.
성의 크기와 경비원이 어디있는지 주어졌을 때, 몇 명의 경비원을 최소로 추가해야 영식이를 만족시키는지 구하는 프로그램을 작성하시오.

입력
첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성의 상태가 주어진다. 성의 상태는 .은 빈칸, X는 경비원이 있는 칸이다.

출력
첫째 줄에 추가해야 하는 경비원의 최솟값을 출력한다.

예제 입력/출력
예제 입력 예제 출력
4 4
....
....
....
....
4
3 5
XX...
.XX..
...XX
0
5 8
....XXXX
........
XX.X.XX.
........
........
3

알고리즘 분류
● 구현

소스코드
package Lv1_Bronze;

import java.io.*;
import java.util.*;

/**
 * @author HanHoon
 * @category 구현
 * https://www.acmicpc.net/problem/1236
 */
public class BOJ_B1_1236_성_지키기 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        StringBuilder str = new StringBuilder();

        // N, M
        int N = Integer.parseInt(st.nextToken());
        int M = Integer.parseInt(st.nextToken());

        char[][] map = new char[N][M];

        int rowX = 0;
        for (int n = 0; n < N; n++){
            String s = br.readLine();
            map[n] = s.toCharArray();

            if(s.contains("X") == false)
                rowX++;
        }

        int colX = 0;
        for (int m = 0; m < M; m++){
            int cnt = 0;
            for (int n = 0; n < N; n++)
                if(map[n][m] == '.')
                    cnt++;
            if(cnt == N)
                colX++;
        }

        str.append(Math.max(rowX, colX));

        System.out.print(str);
        br.close();
    }
}

 


BaekJoon List
 

BaekJoon List

BOJ Start!! ● [BOJ] 백준 회원가입, 시작하는 법 ● [BOJ] 등급(티어) 및 Solved.AC 적용 ● [BOJ/JAVA] 백준 소스코드 제출 시 유의사항(자바) Bronze ● Bronze V  - ● Bronze IV  - ● Bronze III  -..

han-hoon.tistory.com


  

기회는 준비된 자에게 찾아온다.

 


 

반응형
LIST

댓글