※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 2520번 문제인 팬케이크 사랑이다.
문제는 아래 링크를 확인하자.

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

 

2520번: 팬케이크 사랑

  첫 번째 테스트 케이스에서 주어진 재료를 가지고 바나나 팬케익 10개, 딸기 팬케익 1개, 초콜릿 팬케익 4개, 호두 팬케익 1개를 만들 수 있다.   두 번째 테스트 케이스에서 주어진 재료 중 밀

www.acmicpc.net

주어지는 팬케이크 재료들의 양을 읽고 이 재료들로 만들 수 있는 팬케이크 양의 최댓값을 구하는 문제이다.

 

(주어진 반죽재료로 만들 수 있는 반죽으로 만들 수 있는 팬케이크의 개수)와 (주어진 토핑재료로 토핑할 수 있는 팬케이크의 개수) 두 값의 최솟값이 문제의 답이 됨을 관찰하자.

 

반죽의 경우 각 반죽재료가 팬케이크 몇 개 분량인지를 계산해 그 최솟값을 구하는 것으로, 토핑의 경우 각 토핑 종류별로 토핑할 수 있는 팬케이크의 개수를 합하는 것으로 위의 식에 필요한 개수를 계산할 수 있다. 이는 비례관계와 사칙연산을 이용해 계산해낼 수 있다.

 

위 내용을 구현해 문제를 해결하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int T;
int milk, yolk, sugar, salt, flour, banana, jam, choco, walnut;

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

	cin >> T;
	while (T--) {
		cin >> milk >> yolk >> sugar >> salt >> flour >> banana >> jam >> choco >> walnut;
		int val1 = min(milk * 2, min(yolk * 2, min(sugar * 4, min(salt * 16, flour * 16 / 9))));
		int val2 = banana + jam / 30 + choco / 25 + walnut / 10;

		cout << min(val1, val2) << '\n';
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 9461 // C++] 파도반 수열  (0) 2023.02.09
[BOJ 25905 // C++] 장인은 도구를 탓하지 않는다  (0) 2023.02.09
[BOJ 1092 // C++] 배  (0) 2023.02.08
[BOJ 11522 // C++] Sum Kind of Problem  (0) 2023.02.07
[BOJ 27433 // C++] 팩토리얼 2  (0) 2023.02.07

+ Recent posts