2309번 - 일곱 난쟁이(c++)

Duna·2020년 10월 24일
0

🗒 2309번 문제

📌 전체에서 두 난쟁이의 키를 뺀 값이 100이 되는 걸 모두 찾기

1️⃣ 찾은 두 값을 배열에서 0으로 만들어 주기

2️⃣ 배열 안의 값을 오름차순으로 정렬한 다음에 출력하기

3️⃣ algorithm 안에 있는 sort함수를 사용해서 정렬하기


➰ 코드로 나타낸 2309번 ➰

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

int main() {
    int heights[9];
    int sum = 0;
    bool isFound = false;
    
    for (int i = 0; i < 9; i++) {
        cin >> heights[i];
        sum += heights[i];
    }
    // 난쟁이들의 키를 받는다
    
    for (int i = 0; i < 8; i++) {
        for (int j = 0; j < 9; j++) {
       // 같은 배열의 요소가 아니고 전체에서 두 난쟁이의 키를 뺀 값이 100이면 해당 값 0으로 만들기
            if((i != j) && (sum - (heights[i] + heights[j]) == 100)) {
                heights[i] = 0; heights[j] = 0;
                isFound = true;
                break;
            }
        }
        if(isFound == true) break;
    }
    
    // 키 정렬하고 0이 아닌 값을 출력
    sort(heights, heights+9);
    for (int i = 0; i < 9; i++) {
        if(heights[i] != 0)
            cout << heights[i] << endl;
    }
}
profile
더 멋진 iOS 개발자를 향해

0개의 댓글