Koala - 7기/코딩테스트 준비 스터디

[백준/Python] 1895번 필터

우롱티 2022. 7. 10. 17:33

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

 

1895번: 필터

숫자 9개가 오름차순이나 내림차순으로 정렬되어 있을 때, 중앙값은 다섯 번째 숫자이다. 예를 들어, 1, 3, 4, 1, 2, 6, 8, 4, 10의 중앙값은 4이다. (1 ≤ 1 ≤ 2 ≤ 3 ≤ 4 ≤ 4 ≤ 6 ≤ 8 ≤ 10) 이미지 I는

www.acmicpc.net

문제분석

  1. 분류
    • 완전탐색, 정렬
  2. 문제설명
    • 원본 이미지에 3x3 필터를 적용하여 필터링된 이미지에서 값이 T보다 크거나 같은 픽셀의 수를 구하는 문제이다.
    • 첫째 줄에 이미지의 크기 R(행), C(열)가 주어진다.
    • 그 다음 각 R개의 줄에 C개의 픽셀 값이 주어지고,
    • 마지막 줄에 T값이 주어진다.
    • 필터링된 이미지의 각 픽셀 값 중에서 T보다 크거나 같은 것의 개수를 출력한다.

 

코드

 

문제풀이

  • 필터링된 이미지는 출력할 필요가 없으므로, T보다 크거나 같은 픽셀의 수(cnt)만 구한다.
  • 원본 이미지에 3x3 필터를 한 칸씩 이동시키며 적용하여 필터가 위치하는 9개의 수들을 오름차순으로 정렬한다.
  • 정렬된 값 중 중앙값인 5번째 값(arr[4])이 T보다 크거나 같으면 cnt를 1 증가시킨다.