๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm

[๋ฐฑ์ค€] 1236๋ฒˆ: ์„ฑ ์ง€ํ‚ค๊ธฐ(๊ตฌํ˜„)

by ์ฃผ๋ฐœ2 2020. 2. 27.
๋ฐ˜์‘ํ˜•

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

 

1236๋ฒˆ: ์„ฑ ์ง€ํ‚ค๊ธฐ

์ฒซ์งธ ์ค„์— ์„ฑ์˜ ์„ธ๋กœ ํฌ๊ธฐ N๊ณผ ๊ฐ€๋กœ ํฌ๊ธฐ M์ด ์ฃผ์–ด์ง„๋‹ค. N๊ณผ M์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์„ฑ์˜ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์„ฑ์˜ ์ƒํƒœ๋Š” .์€ ๋นˆ์นธ, X๋Š” ๊ฒฝ๋น„์›์ด ์žˆ๋Š” ์นธ์ด๋‹ค.

www.acmicpc.net

์ฝ”๋“œ

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();	// ์„ธ๋กœ
		int M = scan.nextInt();	// ๊ฐ€๋กœ
		int row = 0;	// ํ–‰
		int col = 0;	// ์—ด
		char[][] map = new char[N][M];
		for(int i=0; i<map.length; i++) {
			String str = scan.next();
			for(int j=0; j<map[i].length; j++) {
				map[i][j] = str.charAt(j);
			}
		}
		
		// ํ–‰์— ํ•„์š”ํ•œ ๊ฒฝ๋น„์› ์ˆ˜
		for(int i=0; i<N; i++) {
			boolean flag = true;
			for(int j=0; j<M; j++) {
				if(map[i][j] == 'X') {
					flag = false;
					break;
				}
			}
			if(flag)
				row ++;
		}
		
		// ์—ด์— ํ•„์š”ํ•œ ๊ฒฝ๋น„์› ์ˆ˜
		for(int i=0; i<M; i++) {
			boolean flag = true;
			for(int j=0; j<N; j++) {
				  if(map[j][i] == 'X') {
					  flag = false;
					  break;
				  }
			}
			if(flag)
				col ++;
		}
		
		// ํ–‰, ์—ด ์ค‘ ๋” ๋งŽ์€ ๊ฒฝ๋น„์› ์ถ”๊ฐ€
		System.out.println(Math.max(row, col));
		scan.close();
	}

}

ํ’€์ด

ํ–‰, ์—ด ๋ณ„๋กœ ๊ฒฝ๋น„์›์ด ์„œ์žˆ์ง€์•Š์€ ๊ฒฝ๋น„์›์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ณ 

๊ทธ ์ˆ˜ ์ค‘ ํฐ๊ฒƒ์„ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.

 

. X .  . 

. X .  .

.  .  .  .

.  .  .  .

์œ„์™€๊ฐ™์ด ์žˆ์„๋•Œ, 

ํ–‰์œผ๋กœ ๋ดค์„๋•Œ ํ•„์š”ํ•œ ๊ฒฝ๋น„์›์€ ์„ธ๋ฒˆ์งธ, ๋„ค๋ฒˆ์งธ ์ด๋ฏ€๋กœ 2๋ช…์ด ํ•„์š”ํ•˜๊ณ ,

์—ด์œผ๋กœ ๋ดค์„๋•Œ ํ•„์š”ํ•œ ๊ฒฝ๋น„์›์€ ์ฒซ๋ฒˆ์งธ, ์„ธ๋ฒˆ์งธ, ๋„ค๋ฒˆ์งธ ์ด๋ฏ€๋กœ 3๋ช…์ด ํ•„์š”ํ•˜๋‹ค.

๋”ฐ๋ผ์„œ ํ•„์š”ํ•œ ๊ฒฝ๋น„์›์˜ ์ˆ˜๋Š” 3๋ช…์ด๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€