• toc {:toc}

๋ฌธ์ œ ํ™•์ธํ•˜๊ธฐ

ํ’€์ด

ํ’€์ด๋Š” ์ขŒ์ธก, ์šฐ์ธก ๊ทœ์น™๋Œ€๋กœ ์ž๊ฐˆ์„ ์˜ฌ๋ ค๋†“๋Š”๋‹ค. ์ดํ›„, ๋‘ ๋ฌด๊ฒŒ์˜ ์ฐจ์ด๋ฅผ ๋นผ์„œ ์ฃผ์–ด์ง„ ๋ฌด๊ฒŒ์ถ”๋ฅผ ๋ฌด๊ฑฐ์šด ์ˆœ์„œ๋ถ€ํ„ฐ ์–‘ํŒ”์˜ ๋ฌด๊ฒŒ ์ฐจ์ด๋ณด๋‹ค ๋ฌด๊ฒŒ์ถ”์˜ ๋ฌด๊ฒŒ๊ฐ€ ์ž‘๋‹ค๋ฉด ๋ฌด๊ฒŒ์ถ”๋ฅผ ์˜ฌ๋ ค๋‘๋Š” ๋ฐฉ์‹๋Œ€๋กœ ํ’€์ดํ–ˆ๋‹ค.

#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
 
int weight[8] = {100, 50, 20, 10, 5, 2, 1};
 
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    
    int n, left = 0, right = 0;
    int res = 0;
 
    cin >> n;
 
    for(int i = 0; i < n; i++){
        if(i == 0) cin >> left;
        else if(i == 1) cin >> right;
        else{
            int val;
            cin >> val;
            if(left > right) right += val;
            else left += val;
        }
    }
    int diff = abs(left - right);
 
    for(int i = 0; i < 7; i++){
        if(weight[i] <= diff){
            res += diff / weight[i];
            diff = diff % weight[i];
        }
    }
    cout << res << endl;
 
    return 0;
}

ํ’€๊ณ ๋‚˜์„œ ์ƒ๊ฐํ•ด๋ณด๋‹ค ๋ณด๋‹ˆ ์™ผ์ชฝ์— 5, ์˜ค๋ฅธ์ชฝ์— 14๊ฐ€ ์ฃผ์–ด์ง„ ๊ฒฝ์šฐ ๋‚ด ์ฝ”๋“œ๋Š” ์™ผ์ชฝ์— 5g, 2g, 2g ๋ฌด๊ฒŒ์ถ”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 3๊ฐœ๊ฐ€ ๋˜๋Š”๋ฐ, ์™ผ์ชฝ์— 10g์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์˜ค๋ฅธ์ชฝ์— 1g์„ ์ถ”๊ฐ€ํ•˜๋ฉด 2๊ฐœ๋งŒ ์‚ฌ์šฉํ•ด์„œ ํ’€ ์ˆ˜ ์žˆ๊ธฐ์— ์ตœ์†Œ ๊ฐœ์ˆ˜๊ฐ€ 2๊ฐ€ ๋˜์–ด์•ผ ๋ฌธ์ œ์— ์˜ฌ๋ฐ”๋ฅธ ์ฝ”๋“œ ์•„๋‹Œ๊ฐ€? ํ˜ผ๋™์„ ๋ง‰์œผ๋ ค๋ฉด ๊ฐ€๋ฒผ์šด ์ชฝ์—โ€™๋งŒโ€™ ๊ณผ ๊ฐ™์€ ์ œํ•œ์ด ํ•„์š”ํ•˜์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค.