Notice
Recent Posts
Recent Comments
관리 메뉴

즐겁게, 코드

BOJ 1895번 - 필터 본문

💯 알고리즘/백준 온라인 저지

BOJ 1895번 - 필터

Chamming2 2021. 4. 24. 17:58

[백준 온라인 저지 링크]

 

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

2차원 배열을 순회하며 3 * 3 크기의 부분배열을 구한 뒤, 해당 부분배열의 중간값들로 이루어진 배열을 생성합니다.

그리고 중간값들의 배열을 순회하면서 T보다 크거나 같은 값의 개수만 세주면 됩니다!

 

[정답 코드 - Python]

R, C = map(int, input().split())

image = []
filtered = []
cnt = 0


def findMid(R, C):
    global image
    pixels = []
    for row in range(3):
        for col in range(3):
            pixels.append(image[row + R][col + C])
    pixels.sort()
    return pixels[4]


for row in range(R):
    image.append(list(map(int, input().split())))

for row in range(R - 2):
    for col in range(C - 2):
        filtered.append(findMid(row, col))

T = int(input())
for i in filtered:
    if i >= T:
        cnt += 1

print(cnt)

 

반응형
Comments
소소한 팁 : 광고를 눌러주시면, 제가 뮤지컬을 마음껏 보러다닐 수 있어요!
와!! 바로 눌러야겠네요! 😆