Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 1인 게임
- 퐁
- 자바스크립트 게임
- 자바스크립트
- 필기
- 합격
- 정보처리기사
- portal
- 게임 제작
- 정처기
- 게임 개발
- unity3d
- 게임제작
- 게임
- 유니티 3D
- 프로그래머스 #최소힙 #우선순위 큐
- 1인 게임 제작
- 토이 프로젝트
- 정처기 필기
- 유니티3d
- FPS
- 1인 게임 개발
- 1인 개발
- Unity2D
- Unity #Unity2D #Portal
- Unity
- Pong
- 3회차
- Vampire Survivors
- 유니티
Archives
- Today
- Total
Coding Feature.
백준) 16917번: 양념 반 후라이드 반 in C 본문
Solution
만약에 양념 3개, 후라이드 5개를 사야 한다고 가정하자.
1. 그러면 먼저 양념과 후라이드를 같은 개수의 최댓값만큼 (양념3, 후라이드3) 먼저 생각하고,
2. 이후에 나머지 값을 더해주는 식으로 계산하기로 한다.(후라이드 2)
Total Cost(Answer) = 1. + 2.
1.
먼저 양념 3개 후라이드 3개를 산다고 할 때,
1) 양념과 후라이드를 각자 따로 사는 게 싼지,(양념3, 후라이드3)
2) 반반 세트로 사는게 싼지,((반반세트 * 2) * 3)
비교해야 한다.
그 외의 경우는 있을 수가 없다. (예를 들어, 양념과 후라이드를 각각 2개씩 사고 반반 세트를 2개 사는 경우 등)
어차피 사야할 양념 후라이드 개수가 같은 것을 가정하고 있기 때문에 두 경우가 섞일 일은 없기 때문이다.
2.
이후 남은 양념 또는 후라이드의 개수만큼 추가로 구매하야 하는데(현재 예시로는 후라이드 2) 이 때도
1) 양념 또는 후라이드만 사는게 싼지,(후라이드 2)
2) 반반세트로 사는게 싼지,((반반세트 * 2) * 2)
비교해야 한다.
사실 위 부분에서 나는 1) 경우만 생각하고 2) 경우처럼 반반세트로 주문해서 어느 한 메뉴를 남겨도 된다는 식의 생각을 놓쳐서 한 번 틀렸었다. 주의하자.
Code
#include <stdio.h>
int min(int A, int B){
return (A < B)? A : B;
};
int max(int A, int B){
return (A > B)? A : B;
};
int main(){
int A, B, C, X, Y, K, cost = 0;
scanf("%d %d %d %d %d", &A, &B, &C, &X, &Y);
int Z = min(X, Y);
cost += min(A + B, 2 * C) * Z;
if(X > Y)
K = A;
else
K = B;
if(K < 2 * C)
cost += (max(X, Y) - Z) * K;
else
cost += (max(X, Y) - Z) * 2 * C;
printf("%d\n", cost);
return 0;
}
'코딩테스트 > 백준 solved.ac' 카테고리의 다른 글
백준) 16938번: 캠프 준비 in C (0) | 2023.07.23 |
---|---|
백준) 16936번: 나3곱2 in C (0) | 2023.07.09 |
백준) 16924번: 십자가 찾기 in C (0) | 2023.07.07 |
백준) 16922번 : 로마 숫자 만들기 in C (0) | 2023.07.06 |
백준) 16968번: 차량 번호판 1 in C (0) | 2023.07.04 |