//GitHub https://github.com/vellimole0621
vellimole0621 - Overview
vellimole0621 has 4 repositories available. Follow their code on GitHub.
github.com
백준 1236번 : 성 지키기
(문제 - https://www.acmicpc.net/problem/1236)
문제 설명 : 행과 열을 입력받아. 그 크기 만큼의 성을 입력 받는다. 각각 행과 열에 하나 이상의 경비원('X')이 있어야 할 때, 그렇게 만들기 위해 필요한 최소한의 경비원 수를 출력하라.
풀이 : 행 열(N M) 입력 >> 성 입력(2차원 문자열 배열 생성) >> 경비원이 없는 행의 수 계산 >> 경비원이 없는 줄의 수 계산 >> 양쪽 비교 후 더 작은 값 출력
//1236번 성지키기
package S2209;
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
//행 열 입력
int N = sc.nextInt();
int M = sc.nextInt();
sc.nextLine();
//성 입력
char[][] castle = new char[N][M];
for(int i = 0; i < N; i++){
String c = sc.nextLine();
char[] d = c.toCharArray();
for(int j = 0; j < M; j++){
castle[i][j] = d[j];
}
}
// 경비원이 없는 행의 줄 수, 와 계산
int noN = 0;
int temp = 0;
for(int i = 0; i < N; i++){
for(int j = 0; j < M; j++){
if(castle[i][j] == 'X'){
temp++;
}
}if(temp == 0){
noN++;
}temp = 0;
}
// 경비원이 없는 열의 줄 수
int noM = 0;
for(int j = 0; j < M; j++){
for(int i = 0; i < N; i++){
if(castle[i][j] == 'X'){
temp++;
}
}if(temp == 0){
noM++;
}temp = 0;
}
// 결과 출력
if(noN >= noM){
System.out.println(noN);
}else{
System.out.println(noM);
}
sc.close();
}
}
'프로그래밍 > Java' 카테고리의 다른 글
[자바 JAVA/알고리즘] 백준 2455번 : 지능형 기차 (0) | 2022.09.05 |
---|---|
[자바 JAVA/알고리즘] 백준 10845번 : 큐 (0) | 2022.09.04 |
[자바 JAVA/알고리즘] 백준 1259번 : 팰린드롬수 (0) | 2022.08.31 |
[자바 JAVA/알고리즘] 백준 9012번 : 괄호 (0) | 2022.08.23 |
[자바 JAVA/알고리즘] 백준 1065번 : 한수 (0) | 2022.08.23 |