Koala - 7기/코딩테스트 준비 스터디
[백준/Python] 1895번 필터
skdus8784
2022. 7. 7. 10:18
https://www.acmicpc.net/problem/1895


[문제 해석]
이 문제는 영상처리 기술에서 사용되는 필터를 이용한 잡음 제거 문제이다.
3x3 크기의 필터만을 발췌하여 해당 필터의 중앙값을 도출해내어 J라는 새로운 필터를 구한다.
그 필터에서 임계값 T보다 크거나 같은 픽셀 수의 개수를 출력하는 문제이다.
[코드]
R, C = map(int, input().split())
Filter = []
for r in range(R) :
Filter.append(list(map(int,input().split())))
T = int(input())
J = []
for r in range(R-3+1) :
for c in range(C-3+1) :
median = []
for i in range(r, r+3) :
for j in range(c, c+3) :
median.append(Filter[i][j])
median.sort()
J.append(median[4])
cnt = 0
for k in J:
if k > T or k == T :
cnt += 1
print(cnt)
[문제 풀이]
- 행과 열에 대해서 입력받는다.
- Filter라는 빈 리스트를 생성하여 입력값으로 준 픽셀 값들을 행과 열에 따라 입력받는다.
- 임계값 T 역시 입력받는다.
- J라는 빈 리스트를 생성하여 중앙값들만을 저장할 준비를 한다.
- 3x3크기 만큼의 필터만을 발췌하여 해당 픽셀값 중 중앙값을 찾아 J 리스트에 추가한다.
- count를 0으로 초기화하고, J 필터 내에 있는 원소 중 T보다 크거나 같다면 count에 1을 더한다.
- 최종적으로 count를 출력한다.
[백준 알고리즘] 백준 1895번 필터 파이썬(Python)
츄르사려고 코딩하는 코집사입니다. 1. [백준 알고리즘] 백준 1895번 필터 파이썬(Python) 1) 문제번호 : 1895번 2) 문제 출처 https://www.acmicpc.net/problem/1895 1895번: 필터 숫자 9개가 오름차순이나..
yongku.tistory.com