반응형
SMALL
# 풀이
- 움직이는 방향을 if문이 아니라, dx, dy배열로 설정해 놓는 방법 기억하기!!
( 4가지 방향이 아니라 8방향일때도 유용하게 사용 가능)
- 3중 for문 이용!
import java.util.*;
import java.util.Scanner;
public class Main {
public int solution(int n ,int [][]arr) {
int answer = 0;
int []dx = {-1,0,1,0};
int []dy = {0,1,0,-1};
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++) {
boolean flag = true;
for(int k=0;k<4;k++) {
int nx = i+dx[k];
int ny = j+dy[k];
if(nx>=0 && nx<n && ny>=0 && ny<n && arr[nx][ny]>=arr[i][j]) {
flag = false;
break;
}
}
if(flag) answer++;
}
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int [][]arr = new int[n][n];
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++) {
arr[i][j] = kb.nextInt();
}
}
System.out.print(T.solution(n, arr));
}
}
반응형
LIST
'자바 알고리즘' 카테고리의 다른 글
17. 연속 부분 수열 (sliding window + 복합) (0) | 2022.08.08 |
---|---|
16. 최대 매출 (Sliding window) (0) | 2022.08.08 |
14. 뒤집은 소수 (0) | 2022.08.03 |
13. 가위바위보 (0) | 2022.08.02 |
12. 보이는 학생 (0) | 2022.08.02 |
댓글