[백준] PS/Java [실랜디]

[백준 1895] 필터 - JAVA

SH3542 2025. 3. 6. 17:14

https://www.acmicpc.net/problem/1895

 

3*3 window를 이동하여 9개의 원소를 찾음

오름차순 정렬해서 5번째 원소가 V 이상이면 카운트

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

class Main {

  public static void main(String[] args) throws IOException {

    int ans = 0;

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st = new StringTokenizer(br.readLine());

    int R = Integer.parseInt(st.nextToken());
    int C = Integer.parseInt(st.nextToken());

    int[][] m = new int[R][C];
    for (int i = 0; i < R; i++) {
      st = new StringTokenizer(br.readLine());
      for (int j = 0; j < C; j++) {
        m[i][j] = Integer.parseInt(st.nextToken());
      }
    }
    int V = Integer.parseInt(br.readLine());

    for (int i = 0; i + 2 < R; i++) {
      for (int j = 0; j + 2 < C; j++) {

        int[] a = new int[9];
        int idx = 0;

        for (int r = i; r <= i + 2; r++) {
          for (int c = j; c <= j + 2; c++) {
            a[idx++] = m[r][c];
          }
        }

        Arrays.sort(a);
        if (a[4] >= V) {
          ans++;
        }
      }
    }

    System.out.println(ans);
  }
}

'[백준] PS > Java [실랜디]' 카테고리의 다른 글

[백준 1913] 달팽이 - JAVA  (0) 2025.03.06
[백준 1904] 01타일 - JAVA  (0) 2025.03.06
[백준 1996] 지뢰 찾기 - JAVA  (0) 2025.03.06
[백준 1835] 카드 - JAVA  (0) 2025.03.05
[백준 1822] 차집합 - JAVA  (0) 2025.03.05