문제풀이/구현

[파이썬] [구현] 백준 20164 홀수 홀릭 호석

승무_ 2023. 5. 8. 21:02

문제

https://www.acmicpc.net/problem/20164

 

20164번: 홀수 홀릭 호석

호석이는 짝수랑 홀수 중에서 이니셜이 같은 홀수를 더 좋아한다. 운전을 하던 호석이는 앞차의 번호판이 홀수로 가득할 때 사랑스러움을 느낄 정도이다. 전화번호도 홀수만 있고 싶다. 그렇게

www.acmicpc.net

코드

n=input().rstrip()

maxValue=0
minValue=99999

def check(temp):
    c=0
    for i in temp:
        if int(i)%2==1:
            c+=1
    return c

def recur(n,count):
    global maxValue
    global minValue

    # 길이가 1일 경우 max값, min값을 갱신
    if len(n)==1:
        maxValue=max(maxValue,count)
        minValue=min(minValue,count)
        return
    elif len(n)==2:
        # 길이가 2인 경우 각 자리를 나누고 재귀 호출
        temp=str(int(n[0])+int(n[1]))
        recur(temp, count+check(temp))
    else:
        for i in range(len(n)-2):
            for j in range(i+1, len(n)-1):
                # 길이 3이상인 경우 2중 for문을 통해 3등분
                temp=str(int(n[:i+1])+int(n[i+1:j+1])+int(n[j+1:]))
                recur(temp,count + check(temp))
recur(n,check(n))
print(minValue, end=" ")
print(maxValue)