๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/1455)
< ๋ค์ง๊ธฐ II >
๋ฌธ์ ํ์ด
๋ท๋ฉด์ธ ๋์ ์ค์์ (0,0)์์ ๊ฐ์ฅ ๋ฉ๋ฆฌ ์๋ ๋์ ์์น๋ถํฐ ๋ค์ง๋๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class _1455_ { // ๋ค์ง๊ธฐ II
static boolean arr[][];
static int x, y;
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());
arr = new boolean[n][m];
int result = 0;
x = -1;
y = -1;
for (int i = 0; i < n; i++) {
String str = bf.readLine();
for (int j = 0; j < m; j++) {
if (str.charAt(j) == '1') {
arr[i][j] = true;
x = i;
y = j;
}
}
}
while (x != -1 && y != -1) {
result += 1;
convert(x,y);
check();
}
System.out.println(result);
}
private static void check() {
x = -1;
y = -1;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[0].length; j++) {
if (arr[i][j]) {
x = i;
y = j;
}
}
}
}
private static void convert(int x, int y) {
for (int i = 0; i <= x; i++) {
for (int j = 0; j <= y; j++) {
arr[i][j] = !arr[i][j];
}
}
}
}
๋ณ์)
n, m : ๋์ ํฌ๊ธฐ
arr : ๋์ ์ ์๋ฉด, ๋ท๋ฉด ์ฌ๋ถ
result : ๋์ ์ ๋ค์ง๋ ํ์
x, y: ๋ค์ง์ ๋์ ์ ์์น
๋์ ์ ํฌ๊ธฐ n, m์ ์ ๋ ฅ๋ฐ๋๋ค. ๋์ ์ ํฌ๊ธฐ๋งํผ ๋์ ์ ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด์ ๋ท๋ฉด์ผ ๊ฒฝ์ฐ true๋ก ์ ์ฅํ๊ณ ์๋ฉด์ผ ๊ฒฝ์ฐ false๋ก ์ ์ฅํ๋ค. ๋ท๋ฉด์ผ ๊ฒฝ์ฐ ์๋ฉด์ผ๋ก ๋ค์ง์ด์ผ ํ๋ฏ๋ก (0,0)์์ ๊ฐ์ฅ ๋ฉ๋ฆฌ ์๋ ๋ท๋ฉด ๋์ ์์น๋ฅผ ๊ตฌํด x, y์ ์ ์ฅํ๋ค. ๋ท๋ฉด์ธ ๋์ ์ด ์์ ๋๊น์ง ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) result+1
2) convertํจ์ ํธ์ถ
3) check ํจ์ ํธ์ถ
์ต์ข ๋์ ์ ๋ค์ง๋ ํ์์ธ result๋ฅผ ์ถ๋ ฅํ๋ค.
check()
x์ y๋ฅผ -1๋ก ์ด๊ธฐํํ๋ค. ๋ฐฐ์ด์ ํ์ํ๋ฉฐ ๋ท๋ฉด์ธ ๋์ ์ผ ๊ฒฝ์ฐ ์์น๋ฅผ x์ y์ ์ ์ฅํ๋ค.
convert(int x, int y)
(0,0)๋ถํฐ (x, y) ์์น๊น์ง ๋์ ์ ๋ค์ง๋๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 10973_์ด์ ์์ด (0) | 2024.04.18 |
---|---|
[Baekjoon] 10972_๋ค์ ์์ด (0) | 2024.04.17 |
[Baekjoon] 2697_๋ค์์ ๊ตฌํ๊ธฐ (0) | 2024.04.15 |
[Baekjoon] 2149_์ํธ ํด๋ (0) | 2024.04.12 |
[Baekjoon] 12927_๋ฐฐ์ ์ค์์น (0) | 2024.04.11 |