본문 바로가기
Programming/알고리즘

[백준/Python] 32986번 나는 건포도가 싫어요

by castberry_ 2025. 1. 18.
반응형

문제

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

코드

x, y, z = map(int ,input().split())
temp = min(x, y, z)
if temp <= 2:
    print(0)
elif x == y == z == 3:
    print(0) 
else:
    print((temp - 1) // 2)

 

그리디 문제입니다. 

 

문제의 핵심은 최적으로 건포도를 확인할 수 있는 단면의 두께인 2를 최소한으로 만드는 겁니다. 
케이크의 가장 얇은 곳을 자르면 되겠죠? 

 

케이크의 가장 얇은 면 1 2 3 4 5
잘라야하는 수  0 0 1 1 2

 

이런식이기 때문에 (가장 얇은 면) - 1 // 2 을 출력하면 됩니다. 

 

예외 케이스로 3 x 3 x 3 케이크가 있는데 이 케이크는 안잘라도 건포도가 어디있는지 알기에 
(건포도가 겉에 없으면 안에 있는거니까요)
3x3x3 케이크는 안잘라도 알 수 있다는 것에 유의하면 됩니다. (0을 출력)

반응형

댓글