1. λ΄μ°λ¦¬
μ§λ μ λ³΄κ° N*N 격μνμ μ£Όμ΄μ§λλ€. κ° κ²©μμλ κ·Έ μ§μμ λμ΄κ° μ°μ¬μμ΅λλ€.
κ° κ²©μνμ μ«μ μ€ μμ μ μνμ’μ° μ«μλ³΄λ€ ν° μ«μλ λ΄μ°λ¦¬ μ§μμ λλ€. λ΄μ°λ¦¬ μ§μμ΄ λͺ κ° μλ μ§ μμλ΄λ νλ‘κ·Έλ¨μ μμ±νμΈμ.
격μμ κ°μ₯μ리λ 0μΌλ‘ μ΄κΈ°ν λμλ€κ³ κ°μ νλ€.
λ§μ½ N=5 μ΄κ³ , 격μνμ μ«μκ° λ€μκ³Ό κ°λ€λ©΄ λ΄μ°λ¦¬μ κ°μλ 10κ°μ λλ€.
2μ°¨μ λ°°μ΄μ μ΅μνμ§ μμμ λ°©ν₯μ μ°μ§Έ forλ¬Έμ λ΄μμΌν μ§ κ°μ΄ μμμ κ°μλ₯Ό λ΄€λλ°
λ³΄ν΅ μ΄λ° λ¬Έμ μμλ λ°°μ΄μ λ°©ν₯μ λ¨Όμ λ΄μ λκ³ κ·Έκ±Έλ‘ 2μ€ forλ¬Έμ λμμΌ νλ€κ³ νλ€.
import java.util.Scanner;
public class Test02_10 {
public int solution(int[][] numberArray, int num) {
// μνμ’μ°
int[] x = {-1, 0, 1, 0};
int[] y = {0, 1, 0, -1};
int result = 0;
for (int i = 0; i < num; i++) {
for (int j = 0; j < num; j++) {
boolean check = true;
for (int k = 0; k < 4; k++) {
// ν΄λΉ μμΉμ μλ μνμ’μ°λ₯Ό 보기 μν΄ + ν΄μ€
int targetX = i + x[k];
int targetY = j + y[k];
// λ°μ μλ μ«μ λ€μ μνμ’μ°λ₯Ό 보면 indexκ° - κ° λκ±°λ μ€λ² λκΈ° λλ¬Έμ 미리 κ±Έλ¬μ€
if (targetX >= 0
&& targetX < num
&& targetY >= 0
&& targetY < num
&& numberArray[i][j] <= numberArray[targetX][targetY]) {
check = false;
break;
}
}
if (check) result++;
}
}
return result;
}
public static void main(String[] args) {
Test02_10 main = new Test02_10();
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int[][] numberArray = new int[num][num];
for (int i = 0; i < num; i++) {
for (int j = 0; j < num; j++) {
numberArray[i][j] = sc.nextInt();
}
}
System.out.println(main.solution(numberArray, num));
}
}
λ°μν
'μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€ Lv.1] λ‘λμ μ΅κ³ μμμ μ΅μ μμ (0) | 2021.11.14 |
---|---|
11μ 13μΌ 1λ¬Έμ - Java : Array (0) | 2021.11.13 |
10μ 29μΌ 1λ¬Έμ - Java : Array (0) | 2021.10.29 |
10μ 21μΌ 4λ¬Έμ - Java : Array (0) | 2021.10.25 |
10μ 20μΌ 4λ¬Έμ - Java : Array (0) | 2021.10.20 |