관리 메뉴

cococo-coding

5543번. 상근날드 (c++풀이) 본문

[BOJ] 코드 모음/C++_learning 문제집

5543번. 상근날드 (c++풀이)

_dani 2023. 12. 13. 16:19

최종코드

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    //1. 다섯 줄에 버거와 음료 가격을 입력받는다.
    //2. 가장 싼 세트 메뉴를 찾는다.
    //3. 가장 싼 세트 메뉴의 가격을 출력한다.

    //1
    int burger[3] = { 0, };
    int drink[2] = { 0, };
    //햄버거 가격 입력받기
    for (int i = 0; i < 3; i++) {
        cin >> burger[i];
    }
    //음료 가격 입력받기
    for (int j = 0; j < 2; j++) {
        cin >> drink[j];
    }

    //2 
    sort(burger, burger + 3);
    sort(drink, drink + 2);

    int cheap = 0;
    cheap = burger[0] + drink[0] - 50;

    //3
    cout << cheap;

    return 0;
}

풀이 과정

햄버거 3개와 음료수 2개 중에서 각각의 최솟값을 찾아야 하는 문제이다.

나는 burger배열과 drink배열을 각각 생성하여, sort를 이용해 정렬을 해주었다.

그 이후에 각각의 배열의 인덱스0인 요소들을 더하여 출력값을 생성해주었다.

 

주어진 값이 2개라면 최솟값 최댓값을 찾기 어렵지 않지만, 3개 이상이 넘어가면 복잡해지므로

값들을 배열로 받고 sort를 이용해주는 게 편한 것 같다. 

 

2023.12.13