C++

DongGeon Gwak·2025년 7월 7일

C++

목록 보기
16/17
#include <string>
#include <vector>
#include <algorithm> // sort 함수를 사용하기 위해 필요해요.

using namespace std;

vector<int> solution(vector<int> arr, int divisor) {
    // 1. 나누어 떨어지는 값들을 담을 비어있는 vector 'answer'를 만들어요.
    vector<int> answer;

    // 2. 'arr' 배열의 모든 요소를 하나씩 확인해요.
    for(int i = 0; i < arr.size(); i++)
    {
        // 3. 현재 요소가 divisor로 나누어 떨어지는지 확인해요. (나머지가 0인지)
        if(arr[i] % divisor == 0)
        {
            // 4. 나누어 떨어진다면, 'answer' 벡터에 그 값을 추가해요.
            answer.push_back(arr[i]);
        }
    }

    // 5. 반복문이 끝난 후, 'answer' 벡터가 비어있는지 확인해요.
    //    비어있다는 건 나누어 떨어지는 숫자가 하나도 없었다는 뜻이에요.
    if(answer.empty()) // answer.size() == 0 으로 확인해도 좋아요.
    {
        // 6. 비어있다면, 문제의 조건에 따라 -1을 추가해요.
        answer.push_back(-1);
    }
    else
    {
        // 7. 비어있지 않다면, 오름차순으로 정렬해요.
        sort(answer.begin(), answer.end());
    }

    // 8. 최종적으로 완성된 'answer' 벡터를 반환해요.
    return answer;
}
profile
아싸라비야

0개의 댓글