๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 3024_๋งˆ๋ผํ†ค ํ‹ฑํƒํ† 

๋ฟŒ์•ผ._. 2024. 7. 17. 11:20
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/3024)

< ๋งˆ๋ผํ†ค ํ‹ฑํƒํ†  >

 

๋ฌธ์ œ ํ’€์ด 

 

ํ–‰, ์—ด, ๋Œ€๊ฐ์„ ์œผ๋กœ ์—ฐ์† 3์นธ์ด ๊ฐ™์€ ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class _3024_ { // ๋งˆ๋ผํ†ค ํ‹ฑํƒํ† 

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

		int N = Integer.parseInt(bf.readLine());

		char arr[][] = new char[N][N];
		for (int i = 0; i < N; i++) {
			String str = bf.readLine();
			for (int j = 0; j < N; j++) {
				arr[i][j] = str.charAt(j);
			}
		}

		boolean flag = false;
		for (int i = 0; i < N; i++) {
			for (int j = 0; j < N; j++) {
				if (arr[i][j] == '.') {
					continue;
				}
				if (j + 1 < N && j + 2 < N && arr[i][j] == arr[i][j + 1] && arr[i][j] == arr[i][j + 2]) {
					System.out.println(arr[i][j]);
					flag = true;
					break;
				}
				if (i + 1 < N && i + 2 < N && arr[i][j] == arr[i + 1][j] && arr[i][j] == arr[i + 2][j]) {
					System.out.println(arr[i][j]);
					flag = true;
					break;
				}
				if (i + 1 < N && j + 1 < N && i + 2 < N && j + 2 < N && arr[i][j] == arr[i + 1][j + 1]
						&& arr[i][j] == arr[i + 2][j + 2]) {
					System.out.println(arr[i][j]);
					flag = true;
					break;
				}
				if (i + 1 < N && j - 1 >= 0 && i + 2 < N && j - 2 >= 0 && arr[i][j] == arr[i + 1][j - 1]
						&& arr[i][j] == arr[i + 2][j - 2]) {
					System.out.println(arr[i][j]);
					flag = true;
					break;
				}
			}
			if (flag) {
				break;
			}
		}
		if (!flag) {
			System.out.println("ongoing");
		}
	}
}
๋ณ€์ˆ˜)
N : ๋ณด๋“œํŒ ํฌ๊ธฐ
arr : ๋ณด๋“œํŒ ์ •๋ณด
flag : ์Šน๋ฆฌ ์—ฌ๋ถ€

 

๋ณด๋“œํŒ ํฌ๊ธฐ N๊ณผ ๋ณด๋“œํŒ ์ •๋ณด arr์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ๋ณด๋“œํŒ์„ ํƒ์ƒ‰ํ•˜๋ฉฐ ๋นˆ์นธ์ด ์•„๋‹ˆ๋ผ๋ฉด ๋‹ค์Œ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

1) ๊ฐ€๋กœ๋กœ ์—ฐ์†๋œ 3์นธ์ด ๊ฐ™์€ ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ํ™•์ธ

2) ์„ธ๋กœ๋กœ ์—ฐ์†๋œ 3์นธ์ด ๊ฐ™์€ ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ํ™•์ธ

3) ๋Œ€๊ฐ์„ ์œผ๋กœ ์—ฐ์†๋œ 3์นธ์ด ๊ฐ™์€ ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ํ™•์ธ

 

์œ„๋ฅผ ์ถฉ์กฑ์‹œํ‚ค๋ฉด ๊ทธ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ  ์ถฉ์กฑ์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค๋ฉด ongoing์„ ์ถœ๋ ฅํ•œ๋‹ค.