[アルゴリズム]包装BOJ 12981球


[BOJ]12981パッケージングショートカット


📍 質問する


赤いボールR個、緑のボールG個、青いボールB個を持っています.
今日はこのボールを箱で包装します.箱にはボールが1つ、ボールが2つ、ボールが3つ入っています.
箱の中のボールの色が違うか、同じです.
必要な箱の数の最大値を求めるプログラムを作成してください.

📍 入力


1行目はR,G,Bである.(1 ≤ R, G, B ≤ 100)

📍 しゅつりょく


最初の行に必要なボックス数の最大値を出力します.

📍 に答える


ハーモニー
from sys import stdin
R, G, B = map(int,stdin.readline().split())
# 공의 색이 모두 다른 경우
MIN = min(R,G,B)
result = MIN
R -= MIN
G -= MIN
B -= MIN
# 같은 공이 2개 남아 있는 경우
result += R//3 + G//3 + B//3
R %= 3
G %= 3
B %= 3
# 같은 공이 2개 남아 있는 경우
if R == 2:
  result += 1
  R = 0
if G == 2:
  result += 1
  G = 0
if B == 2:
  result += 1
  B = 0
# 공이 1개 혹은 두 종류의 공이 1개씩 있는 경우
if R+G+B > 0:
  result += 1
print(result)