Tags
- sort
- ์ ์๋ก
- ์ํ
- SpringBoot
- queue
- BFS
- ๊ตฌํ
- PGM
- CodingTest
- LV2
- dfs
- ์๋ฃ๊ตฌ์กฐ
- ๋ฐฑํธ๋ํน
- ์ ๋ ฌ
- DP
- ์๋ฎฌ๋ ์ด์
- Python
- ๋๋น ์ฐ์ ํ์
- stack
- ๊น์ด ์ฐ์ ํ์
- Dynamic Programming
- ๋ฌธ์์ด
- ๊ทธ๋ํ ํ์
- Brute Force Algorithm
- Java
- ๊ทธ๋ํ ์ด๋ก
- BOJ
- Study
- greedy
- ๊ต์ฌ
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1992 : ์ฟผ๋ํธ๋ฆฌ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- n x n ํฌ๊ธฐ์ ์์ ์ ๋ณด์์ 0 ๋๋ 1๋ก ์์ถ๋ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
- ์ ์ฌ๊ฐํ์ด ํ๋์ ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉด ๊ทธ ์๋ก ์์ถ๊ฐ๋ฅํ๋ค.
- ํด๋น ์๋ฅผ ์ถ๋ ฅํ๋ค.
- ๋ค๋ฅธ ์๊ฐ ์์ฌ์์ผ๋ฉด, ์ ์ฌ๊ฐํ์ 4๋ฑ๋ถํด์ ๋ค์ ์์ถํ๋ค.
- 4๋ฑ๋ถ ํ์๋ ๊ฒฐ๊ณผ๊ฐ์ () ๊ดํธ๋ก ๋ฌถ์ด ์ถ๋ ฅํ๋ค.
- ์ฌ๊ท๋ฅผ ์ด์ฉํด์ ์ ์ฌ๊ฐํ์ด ํ๋์ ์๋ก ์ด๋ฃจ์ด์ ธ์์ง ์์ผ๋ฉด 4๋ฑ๋ถ ๊ฐ์ ๋ค์ ๊ฒ์ฌํ๋ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
static int[][] arr;
static StringBuilder sb;
private static void recursion(int n, int x, int y) {
if (check(n, x, y)) {
sb.append(arr[x][y]);
} else {
sb.append("(");
recursion(n / 2, x, y);
recursion(n / 2, x, y + n / 2);
recursion(n / 2, x + n / 2, y);
recursion(n / 2, x + n / 2, y + n / 2);
sb.append(")");
}
}
private static boolean check(int n, int x, int y) {
int num = arr[x][y];
for (int i = x; i < x + n; i++) {
for (int j = y; j < y + n; j++) {
if (arr[i][j] != num) return false;
}
}
return true;
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
arr = new int[n][n];
for (int i = 0; i < n; i++) {
String temp = br.readLine();
for (int j = 0; j < n; j++) {
arr[i][j] = temp.charAt(j) - '0';
}
}
sb = new StringBuilder();
recursion(n, 0, 0);
System.out.println(sb.toString());
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- main ๋ฉ์๋์์ ๊ฐ์ ์ ๋ ฅ๋ฐ๊ณ recursion ๋ฉ์๋๋ฅผ ํธ์ถํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
- check ๋ฉ์๋๋ ์ ์ฌ๊ฐํ์ด ๊ฐ์ ์๋ก ์ด๋ฃจ์ด์ ธ์๋์ง ํ์ธํ๋ค.
- recursion ๋ฉ์๋๋ ์ ์ฌ๊ฐํ์ ํ ๋ณ์ ๊ธธ์ด n, ์ข์๋จ์ ์ขํ x,y ๋ฅผ ์
๋ ฅ๋ฐ๋๋ค.
- ํด๋น ๋ฒ์์ ์ ์ฌ๊ฐํ์ด ๊ฐ์ ์๋ก ์ด๋ฃจ์ด์ ธ์์ผ๋ฉด ๊ทธ ์๋ฅผ ์ถ๋ ฅํ๋ค.
- ๋ค๋ฅธ ์๊ฐ ์์ฌ์์ผ๋ฉด 4๋ฑ๋ถํด์ ๋ค์ recursion ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค.
๐ธ end ๐ธ
- ์ฌ๊ท๋ฅผ ์ด์ฉํ ๋ถํ ์ ๋ณต ๋ฌธ์ ๊ฐ ์ฌ๋ฆผํฝ ๊ฒ์ ํ๋ก ์ฐ์์ผ๋ก ํ์ด๋ดค๋๋ฐ, ์ฌ๊ท ์ฐ์ต์ ์ข์ ๊ฒ ๊ฐ๋ค.
- ๋ฌธ์ ๋ถ์๊ณผ ํ์ด ๊ณํ์ ์ ์ด๊ฐ๋ฉฐ ํ์ดํ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1697 : ์จ๋ฐ๊ผญ์ง (0) | 2023.02.12 |
---|---|
BOJ_1954 : ํํ์คํ (0) | 2023.02.10 |
BOJ_2312 : ์ ๋ณต์ํ๊ธฐ (0) | 2023.02.10 |
BOJ_7507 : ์ฌ๋ฆผํฝ ๊ฒ์ (0) | 2023.02.07 |
BOJ_2630 : ์์ข ์ด ๋ง๋ค๊ธฐ (0) | 2023.02.05 |