๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/1051)
< ์ซ์ ์ ์ฌ๊ฐํ >
๋ฌธ์ ํ์ด
๊ฐ๋ฅํ ์ ์ฌ๊ฐํ ํฌ๊ธฐ๋งํผ ๊ผญ์ง์ ์ ์ดํด๋ณธ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class _1051_ { // ์ซ์ ์ ์ฌ๊ฐํ
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int arr[][] = new int[n][m];
for (int i = 0; i < n; i++) {
String str = bf.readLine();
for (int j = 0; j < m; j++) {
arr[i][j] = str.charAt(j) - '0';
}
}
int result = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
int size = 1;
while (i + size < n && j + size < m) {
if (arr[i][j] == arr[i + size][j] && arr[i][j] == arr[i][j + size]
&& arr[i][j] == arr[i + size][j + size]) {
result = Math.max(result, size + 1);
}
size += 1;
}
}
}
System.out.println(result * result);
}
}
๋ณ์)
n, m : ์ง์ฌ๊ฐํ ํฌ๊ธฐ
arr : ์ง์ฌ๊ฐํ์ ์ฐ์ฌ์๋ ์
result : ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ํ ๋ณ์ ๊ธธ์ด
size : ํ์ฌ ์ ์ฌ๊ฐํ ํ ๋ณ์ ๊ธธ์ด
์ง์ฌ๊ฐํ ํฌ๊ธฐ๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ์ง์ฌ๊ฐํ์ ์ฐ์ฌ์๋ ์๋ฅผ ์ ๋ ฅ๋ฐ์ arr์ ์ ์ฅํ๋ค. ์ง์ฌ๊ฐํ์ ์ ์ฒด ํ์ํ๋ฉด์ ์ ์ฌ๊ฐํ์ ๋ง๋ค ๋ ๊ผญ์ง์ ์ ์ฐ์ฌ ์๋ ์๊ฐ ๋ชจ๋ ๊ฐ์์ง ํ๋จํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ์ ๊ธธ์ด๋ฅผ ์ฐพ๋๋ค.
์ต์ข ์ ์ฌ๊ฐํ ํฌ๊ธฐ์ธ result*result๋ฅผ ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 2800_๊ดํธ ์ ๊ฑฐ (0) | 2024.05.13 |
---|---|
[Baekjoon] 11055_๊ฐ์ฅ ํฐ ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด (0) | 2024.05.10 |
[Baekjoon] 11502_์ธ ๊ฐ์ ์์ ๋ฌธ์ (0) | 2024.05.08 |
[Baekjoon] 1963_์์ ๊ฒฝ๋ก (0) | 2024.05.07 |
[Baekjoon] 1986_์ฒด์ค (0) | 2024.05.03 |