
-Code
import java.io.*;
public class BOJ3010 {
static char[][] board = new char[7][7];
public static void main(String[] args) throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
// 보드 입력 받기
for (int r = 0; r < 7; r++) {
String row = br.readLine();
for (int c = 0; c < 7; c++) {
board[r][c] = row.charAt(c);
}
}
br.close();
// 이동 갯수 세기
int moveCnt = 0;
for (int r = 0; r < 7; r++) {
for (int c = 0; c < 7; c++) {
if (board[r][c] == '.') {
moveCnt += getPosMoveCnt(r, c);
}
}
}
System.out.println(moveCnt);
}
// 이동 가능 갯수
private static int getPosMoveCnt(int r, int c) {
int[] dRow = {-1, 1, 0, 0};
int[] dCol = {0, 0, -1, 1};
int answer = 0;
for (int i = 0; i < 4; i++) {
int rRange = r + dRow[i] * 2;
int cRange = c + dCol[i] * 2;
// 범위 안인지 확인
if (isOk(rRange, cRange)) {
if (board[r + dRow[i]][c + dCol[i]] == 'o' &&
board[r + dRow[i] * 2][c + dCol[i] * 2] == 'o') {
answer++;
}
}
}
return answer;
}
// 가능한 것인지
private static boolean isOk(int r, int c) {
return (0 <= r && r < 7) && (0 <= c && c < 7);
}
}'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [프로그래머스/Java] [카카오 인턴] 키패드 누르기 (0) | 2026.03.18 |
|---|---|
| [프로그래머스/Java] 달리기 경주 (0) | 2026.03.17 |
| [프로그래머스/Java] 신규 아이디 추천 (0) | 2026.03.17 |
| [백준/Java] 21869번 Maximum Bishop (0) | 2026.03.16 |
| [백준/Java] 17095번 Min-Max Subsequence (0) | 2026.03.15 |