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
문제분석
- 분류
- 완전탐색, 정렬
- 문제설명
- 원본 이미지에 3x3 필터를 적용하여 필터링된 이미지에서 값이 T보다 크거나 같은 픽셀의 수를 구하는 문제이다.
- 첫째 줄에 이미지의 크기 R(행), C(열)가 주어진다.
- 그 다음 각 R개의 줄에 C개의 픽셀 값이 주어지고,
- 마지막 줄에 T값이 주어진다.
- 필터링된 이미지의 각 픽셀 값 중에서 T보다 크거나 같은 것의 개수를 출력한다.
코드
문제풀이
- 필터링된 이미지는 출력할 필요가 없으므로, T보다 크거나 같은 픽셀의 수(cnt)만 구한다.
- 원본 이미지에 3x3 필터를 한 칸씩 이동시키며 적용하여 필터가 위치하는 9개의 수들을 오름차순으로 정렬한다.
- 정렬된 값 중 중앙값인 5번째 값(arr[4])이 T보다 크거나 같으면 cnt를 1 증가시킨다.