https://www.acmicpc.net/problem/1895
입력
첫째 줄에 이미지의 크기 R과 C가 주어진다. 그 다음 R개의 각 줄에는 C개의 픽셀 값이 주어진다. 마지막 줄에는 T값이 주어진다.
출력
첫째 줄에 필터링 된 이미지 J의 각 픽셀 값 중에서 T보다 크거나 같은 것의 개수를 출력한다.
코드
r, c = map(int, input().split())
cnt = 0
pixel = []
ans = []
for i in range(r):
pixel.append(list(map(int, input().split())))
t = int(input())
for x in range(r-2):
for y in range(c-2):
comp = [pixel[x][y], pixel[x][y+1], pixel[x][y+2], pixel[x+1][y], pixel[x+1][y+1], pixel[x+1][y+2], pixel[x+2][y], pixel[x+2][y+1], pixel[x+2][y+2]]
comp.sort()
ans.append(comp[4])
for i in range(len(ans)):
if ans[i] >= t:
cnt += 1
print(cnt)
풀이 과정
**브루트포스를 통하여 모든 공간을 순회하며 점검**
1. 입력처리 (크기와 픽셀 데이터를 입력받기)
2. 주어진 데이터를 필터 크기인 (3X3)으로 순회하며 중앙값 계산
3. 중앙값을 ans 리스트에 모두 추가한 뒤 모든 요소 중 t (기준값) 보다 큰 개수 카운트
'Koala - 17기 > 코딩테스트 심화 스터디' 카테고리의 다른 글
[백준/Python] 20950번 : 미술가 미미 (0) | 2025.01.12 |
---|---|
[백준/Python] #9291 스도쿠 채점 (0) | 2025.01.12 |
[백준/Python]15654번 : N과 M (5) (0) | 2025.01.11 |
[백준/C++] 1895번: 필터 (0) | 2025.01.10 |
[BOJ/Python3] 1206번 : 사람의 수 (0) | 2025.01.07 |