ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๊ณต๋ถ€/C++

๋ฐฑ์ค€ 2309๋ฒˆ : ์ผ๊ณฑ ๋‚œ์Ÿ์ด with C++

์—ฐ์ด14 2023. 3. 27. 17:37

๋ฌธ์ œ

์™•๋น„๋ฅผ ํ”ผํ•ด ์ผ๊ณฑ ๋‚œ์Ÿ์ด๋“ค๊ณผ ํ•จ๊ป˜ ํ‰ํ™”๋กญ๊ฒŒ ์ƒํ™œํ•˜๊ณ  ์žˆ๋˜ ๋ฐฑ์„ค๊ณต์ฃผ์—๊ฒŒ ์œ„๊ธฐ๊ฐ€ ์ฐพ์•„์™”๋‹ค. ์ผ๊ณผ๋ฅผ ๋งˆ์น˜๊ณ  ๋Œ์•„์˜จ ๋‚œ์Ÿ์ด๊ฐ€ ์ผ๊ณฑ ๋ช…์ด ์•„๋‹Œ ์•„ํ™‰ ๋ช…์ด์—ˆ๋˜ ๊ฒƒ์ด๋‹ค.

์•„ํ™‰ ๋ช…์˜ ๋‚œ์Ÿ์ด๋Š” ๋ชจ๋‘ ์ž์‹ ์ด "๋ฐฑ์„ค ๊ณต์ฃผ์™€ ์ผ๊ณฑ ๋‚œ์Ÿ์ด"์˜ ์ฃผ์ธ๊ณต์ด๋ผ๊ณ  ์ฃผ์žฅํ–ˆ๋‹ค. ๋›ฐ์–ด๋‚œ ์ˆ˜ํ•™์  ์ง๊ด€๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋ฐฑ์„ค๊ณต์ฃผ๋Š”, ๋‹คํ–‰์Šค๋Ÿฝ๊ฒŒ๋„ ์ผ๊ณฑ ๋‚œ์Ÿ์ด์˜ ํ‚ค์˜ ํ•ฉ์ด 100์ด ๋จ์„ ๊ธฐ์–ตํ•ด ๋ƒˆ๋‹ค.

์•„ํ™‰ ๋‚œ์Ÿ์ด์˜ ํ‚ค๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฐฑ์„ค๊ณต์ฃผ๋ฅผ ๋„์™€ ์ผ๊ณฑ ๋‚œ์Ÿ์ด๋ฅผ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์•„ํ™‰ ๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๋‚œ์Ÿ์ด๋“ค์˜ ํ‚ค๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ํ‚ค๋Š” 100์„ ๋„˜์ง€ ์•Š๋Š” ์ž์—ฐ์ˆ˜์ด๋ฉฐ, ์•„ํ™‰ ๋‚œ์Ÿ์ด์˜ ํ‚ค๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๋ฉฐ, ๊ฐ€๋Šฅํ•œ ์ •๋‹ต์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€์ธ ๊ฒฝ์šฐ์—๋Š” ์•„๋ฌด๊ฑฐ๋‚˜ ์ถœ๋ ฅํ•œ๋‹ค.

์ถœ๋ ฅ

์ผ๊ณฑ ๋‚œ์Ÿ์ด์˜ ํ‚ค๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ์ผ๊ณฑ ๋‚œ์Ÿ์ด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค.

๊ตฌํ˜„ ๋ฐฉ๋ฒ•

- ๋‚œ์Ÿ์ด ํ‚ค๋ฅผ ์ž…๋ ฅ๋ฐ›์œผ๋ฉด์„œ ๋‚œ์Ÿ์ด๋“ค์˜ ํ‚ค๋ฅผ ๋ชจ๋‘ ๋”ํ•ด ๋ณ€์ˆ˜ sum์— ์ž…๋ ฅ

- sum์—์„œ ์–ด๋–ค ๋‘ ๋‚œ์Ÿ์ด(i๋ฒˆ์งธ ๋‚œ์Ÿ์ด, j๋ฒˆ์งธ ๋‚œ์Ÿ์ด)๋ฅผ ๋นผ์•ผ 100์ด ๋‚˜์˜ค๋Š”์ง€ ๊ตฌํ•จ

- 9๋ช…์˜ ๋‚œ์Ÿ์ด ์ค‘ i๋ฒˆ์งธ ๋‚œ์Ÿ์ด, j๋ฒˆ์งธ ๋‚œ์Ÿ์ด๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๋‚œ์Ÿ์ด์˜ ํ‚ค๋ฅผ heights ํ–‰๋ ฌ์— ์ž…๋ ฅ

- sort ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ํ‚ค๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ

- ์ •๋ ฌ๋œ ํ‚ค๋ฅผ ์ถœ๋ ฅ

 

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

int main() {
	int dwarfs[9], sum = 0;
    int heights[7];

	for (int i = 0; i < 9; i++) {
		cin >> dwarfs[i];	// ์ˆซ์ž ์ž…๋ ฅ ๋ฐ›๊ธฐ
        sum += dwarfs[i];
	}

    int i, j, found = 0;
    for(i = 0; i < 9; i++){ // ์–ด๋–ค ๋‘ ๋ช…์˜ ๋‚œ์Ÿ์ด ํ‚ค๋ฅผ ๋นผ์•ผ 100์ด ๋˜๋Š”์ง€ ์ฐพ๊ธฐ
        for(j = i+1; j < 9; j++){
            if(sum - dwarfs[i] - dwarfs[j] == 100){
                found = 1;
                break;
            }
        }

        if(found == 1){
            break;
        }
    }

    int count = 0;
    for(int n = 0; n < 9; n++){ // ๊ทธ ๋‘ ๋ช…์˜ ๋‚œ์Ÿ์ด๋ฅผ ์ œ์™ธํ•˜๊ณ  ํ‚ค ์ž…๋ ฅ
        if(n != i && n!= j){
            heights[count] = dwarfs[n];
            count++;
        }
    }

    sort(heights, heights + 7);

    for(int n = 0; n < 7; n++){
        cout << heights[n] << "\n";
    }

	return 0;
}