SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
풀이
완전 탐색을 통해 상하좌우의 거리가 2인 위치에 콩이 없다면 콩을 놓게 하여 해결했습니다.
처음에는 dfs를 사용한 완전탐색을 하다가 런타임 에러가 나와서 고민을 했었던 문제입니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Solution {
public static int N, M, answer;
public static int[][] field;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder("");
StringTokenizer st = null;
int T = Integer.parseInt(br.readLine());
for (int tc = 1; tc <= T; ++tc) {
st = new StringTokenizer(br.readLine(), " ");
N = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
field = new int[M][N];
answer = 0;
for (int i = 0; i < M; ++i) {
for (int j = 0; j < N; ++j) {
answer++;
field[i][j] = 1;
for (int k = 0; k < 4; ++k) {
int ny = i + dy[k];
int nx = j + dx[k];
if (nx < 0 || ny < 0 || nx >= N || ny >= M) {
continue;
}
if (field[ny][nx] == 1) {
answer--;
field[i][j] = 0;
break;
}
}
}
}
sb.append("#").append(tc).append(" ").append(answer).append("\n");
}
System.out.println(sb);
}
public static int[] dx = {0, 0, -2, 2};
public static int[] dy = {-2, 2, 0 ,0};
}
pyo7410/Algorithm
1일 1커밋을 목표로! Contribute to pyo7410/Algorithm development by creating an account on GitHub.
github.com
'알고리즘 > SWEA' 카테고리의 다른 글
[Java] SWEA 7465번 창용 마을 무리의 개수 (0) | 2021.04.26 |
---|---|
[Java] SWEA 4366번 정식이의 은행 업무 (0) | 2021.04.20 |
[Java] SWEA 6855번 신도시 전기 연결하기 (0) | 2021.04.13 |
[Java] SWEA 3143번 가장 빠른 문자열 타이핑 (0) | 2021.04.12 |
[Java] SWEA 5643번 키 순서 (0) | 2021.04.06 |