[백준/파이썬] 3595번 맥주 냉장고 풀이

업데이트:



문제 정보


풀이

문제

부피가 n인 직육면체 (i, j, k)를 찾되 표면적이 최소가 되는 변의 길이를 구하는 문제입니다.

코드

n=int(input())
l,m=[],100000000
i=1
while i**3<=n:
    j=i
    while i*j*j<=n:
        k=n//i//j
        if i*j*k!=n:j+=1;continue
        a=i*j+j*k+k*i
        if a<m:
            m=a
            l=[i,j,k]
        j+=1
    i+=1
print(*l)

설명

i <= j <= k 범위를 만족하도록 약수 조합을 탐색하고, ij + jk + ki가 최소인 조합을 갱신해 출력합니다.



댓글남기기