본문 바로가기
BOJ

[python] 백준 3100번 - 국기 인식

by yujinkimkim 2023. 1. 19.

3100번: 국기 인식 (acmicpc.net)

 

3100번: 국기 인식

희원이는 국기 인식 시스템을 만들었다. 이 알고리즘은 국기를 6*9크기의 행렬로 필터링 시킨 뒤, 인식한다. 행렬에는 색을 나타내는 알파벳 대문자가 있다. 이 시스템은 아직 개발 초기 단계이

www.acmicpc.net

예제는 다 맞게 나오는데

백준이 틀렷ㅅ다는데

지금 눈알 뽑힐 거 같아서 

일단 올릴게용


import sys

rowMin = 0
colMin = 0

def row(arr1, arr2):
    arrDict = dict()
    arrMax = 0
    global rowMin
    for i in arr1:
        if i not in arrDict.keys():
            arrDict[i] = 1
        else:
            arrDict[i] += 1
    for i in arr2:
        if i not in arrDict.keys():
            arrDict[i] = 1
        else:
            arrDict[i] += 1
    for i in arrDict.values():
        arrMax = max(arrMax, i)

    for i in arrDict.values():
        if i < arrMax:
            rowMin += i
def col(arr):
    global colMin
    for l in range(3):
        arrDict = dict()
        arrMax = 0

        for i in range(6):
            for j in range(3):
                if arr[i][l*3+j] not in arrDict.keys():
                    arrDict[arr[i][l*3+j]] = 1
                else:
                    arrDict[arr[i][l*3+j]] += 1

        for i in arrDict.values():
            arrMax = max(arrMax, i)

        for i in arrDict.values():
            if i < arrMax:
                colMin += i

data = [sys.stdin.readline().strip() for i in range(6)]

for i in range(3):
    row(data[2*i],data[2*i+1])
col(data)
print(min(colMin, rowMin))

댓글