개발/코딩테스트
[프로그래머스] 나누어 떨어지는 숫자 배열
매지깅
2020. 12. 15. 22:11
arry, divisor 를 각각 입력받고, arry의 각 element 중 divisor로 나누어 떨어지는 값을 정렬한 배열을 반환하는 문제이다. (오름차순 정렬, 나누어 떨어지는 element 가 없다면 -1 반환)
나누어 떨어진다는 것은 나머지가 없다는 뜻이므로 divisor 로 나눈 나머지가 0인 숫자를 answer 벡터에 넣어주면 된다.
STL 의 내장함수인 sort() 함수를 사용하면 오름차순을 쉽게 적용할 수 있다.
#include <string>
#include <vector>
#include<algorithm>
using namespace std;
vector<int> solution(vector<int> arr, int divisor) {
vector<int> answer;
for(int i = 0; i<arr.size(); i++){
// divisor 로 나누어 떨어지는 수만 answer 벡터에 넣는다.
if(arr[i] % divisor == 0){
answer.push_back(arr[i]);
}
}
// 오름차순 정렬
sort(answer.begin(), answer.end());
// 나누어 떨어지는 원소가 없으면 -1 반환
if(answer.empty()){
answer.push_back(-1);
}
return answer;
}