728x90
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14hwZqABsCFAYD
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
이차원 배열의 같은 열에서, 1이 위에서, 2가 아래에서 만나는 경우의 수를 세면 된다. 이때 1이나 2가 중복되어도 교착 상태는 하나로 판단한다.
이를 체크하기 위해 같은 열에서 작은 값(위에 위치한 값)이 1인 경우 prev에 1을 저장하고, prev가 1이면서 2를 만날 때 교착 상태이므로 cnt를 하나씩 더해준다. 그리고 prev를 초기화해야 한다.
또한 한 열의 검사가 다 끝나면 prev를 0으로 초기화해주어야 한다.
package SWEA0729;
import java.util.Scanner;
public class SWEA_1220_Magnetic {
public static void main(String[] args) {
int T = 10;
Scanner sc = new Scanner(System.in);
for (int t = 1; t <= T; t++) {
int n = sc.nextInt();
int[][] table = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
table[i][j] = sc.nextInt();
}
}
int cnt = 0;
int prev = 0;
for (int c = 0; c < n; c++) {
for (int r = 0; r < n; r++) {
if (table[r][c] == 1) {
prev = 1;
}
if (prev == 1 && table[r][c] == 2) {
cnt++;
prev = 0;
}
}
prev = 0;
}
System.out.println("#" + t + " " + cnt);
}
}
}
728x90
'문제 풀이 > SWEA' 카테고리의 다른 글
[SWEA] 6190 - 정곤이의 단조 증가하는 수 (자바/Java) (0) | 2022.08.11 |
---|---|
[SWEA] 1954 - 달팽이 숫자 (자바/Java) (0) | 2022.08.10 |
[SWEA] 1208 - Flattern (자바/Java) 배열, 우선순위 큐(힙) (0) | 2022.08.09 |
[SWEA] 4789 - 성공적인 공연 기획 (자바 / Java) (0) | 2022.08.09 |
[SWEA] 12712 - 파리퇴치 3 (자바/Java) (0) | 2022.07.29 |