๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/10656)
< ์ญ์๋งํ์ด >
๋ฌธ์ ํ์ด
ํ์ฌ ์นธ์ด ๋น์ด์๊ณ ์ผ์ชฝ์ด ๋งํ์์ผ๋ฉฐ ์ค๋ฅธ์ชฝ์ผ๋ก 2์นธ์ด ๋น์ด์๋์ง ํ์ธํ๋ค. ๋ํ, ํ์ฌ ์นธ์ด ๋น์ด์๊ณ ์๊ฐ ๋งํ์์ผ๋ฉฐ ์๋๋ก 2์นธ์ด ๋น์ด์๋์ง ํ์ธํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class _10656_ { // ์ญ์๋งํ์ด
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(bf.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
char arr[][] = new char[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);
}
}
ArrayList<int[]> list = new ArrayList<>();
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (arr[i][j] == '#') {
continue;
}
if ((j - 1 < 0 || arr[i][j - 1] == '#') && j + 1 < m && arr[i][j + 1] == '.' && j + 2 < m
&& arr[i][j + 2] == '.') {
list.add(new int[] { i + 1, j + 1 });
} else if ((i - 1 < 0 || arr[i - 1][j] == '#') && i + 1 < n && arr[i + 1][j] == '.' && i + 2 < n
&& arr[i + 2][j] == '.') {
list.add(new int[] { i + 1, j + 1 });
}
}
}
bw.write(list.size() + "\n");
for (int[] temp : list) {
bw.write(temp[0] + " " + temp[1] + "\n");
}
bw.flush();
}
}
๋ณ์)
n, m : ํ, ์ด
arr : ๊ฒฉ์ ์ ๋ณด
list : ํํธ๋ค์ ์์ ์์น
ํ, ์ด ๊ฐ์ ์ ๋ ฅ๋ฐ๋๋ค. ๊ฒฉ์ ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ์ arr์ ์ ์ฅํ๋ค. ๊ฒฉ์๋ฅผ ํ์ํ๋ฉฐ ๋น์นธ์ด๋ผ๋ฉด ๋ค์ ์กฐ๊ฑด์ ํ์ธํ๋ค.
1) ์ผ์ชฝ์ด ๋งํ์๊ฑฐ๋ ๊ฒฉ์ ๋ฐ์ด๊ณ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ ์นธ์ด ๋น์ด์๋ค๋ฉด list์ ์ขํ ์ถ๊ฐ
2) ์๊ฐ ๋งํ์๊ฑฐ๋ ๊ฒฉ์ ๋ฐ์ด๊ณ ์๋๋ก ๋ ์นธ์ด ๋น์ด์๋ค๋ฉด list์ ์ขํ ์ถ๊ฐ
์ต์ข list์ ํฌ๊ธฐ์ list์ ๊ฐ์ ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 2817_ALPS์ ํฌํ (0) | 2024.07.18 |
---|---|
[Baekjoon] 3024_๋ง๋ผํค ํฑํํ (0) | 2024.07.17 |
[Baekjoon] 2757_์์ (0) | 2024.07.15 |
[Baekjoon] 28256_์ด์ฝ๋ฆฟ ๋ณด๊ดํจ (1) | 2024.07.12 |
[Baekjoon] 9518_๋ก๋ง ์นดํจ๋ฆญ ๋ฏธ์ฌ (0) | 2024.07.11 |