작성일 :

문제 링크

30017번 - 치즈버거 만들기

설명

패티와 치즈를 번갈아 쌓되, 패티 수가 치즈 수보다 정확히 1개 더 많아야 할 때 만들 수 있는 최대 치즈버거의 크기를 구하는 문제입니다.


접근법

먼저 사용할 수 있는 패티 수는 A와 B + 1 중 작은 값입니다. 치즈는 패티보다 1개 적어야 합니다.

따라서 최대 크기는 패티 수의 2배에서 1을 뺀 값입니다.


Code

C#

1
2
3
4
5
6
7
8
9
10
11
12
using System;

class Program {
  static void Main() {
    var parts = Console.ReadLine()!.Split();
    var a = int.Parse(parts[0]);
    var b = int.Parse(parts[1]);
    var patty = Math.Min(a, b + 1);
    var size = 2 * patty - 1;
    Console.WriteLine(size);
  }
}

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <bits/stdc++.h>
using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int a, b; cin >> a >> b;
  int patty = min(a, b + 1);
  int size = 2 * patty - 1;
  cout << size << "\n";

  return 0;
}

Tags: 30017, arithmetic, BOJ, C#, C++, 구현, 백준, 수학, 알고리즘

Categories: ,