SW/알고리즘

C++ : 프로그래머스 : 나누어 떨어지는 숫자 배열 : 풀이

얇은생각 2019. 6. 9. 12:30
반응형

풀이


#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++){
if( arr[i]%divisor == 0){
answer.push_back(arr[i]);
}
}
if( answer.size() == 0){
answer.push_back(-1);
} else {
sort(answer.begin(), answer.end());
}
return answer;
}




실행 결과

정확성 테스트
테스트 1 통과 (0.01ms, 3.79MB)
테스트 2 통과 (0.01ms, 3.82MB)
테스트 3 통과 (0.01ms, 3.87MB)
테스트 4 통과 (0.01ms, 3.79MB)
테스트 5 통과 (0.01ms, 3.84MB)
테스트 6 통과 (0.41ms, 4.08MB)
테스트 7 통과 (0.02ms, 3.89MB)
테스트 8 통과 (0.00ms, 3.85MB)
테스트 9 통과 (0.02ms, 3.76MB)
테스트 10 통과 (0.02ms, 3.81MB)
테스트 11 통과 (0.01ms, 3.76MB)
테스트 12 통과 (0.01ms, 3.85MB)
테스트 13 통과 (0.03ms, 3.78MB)
테스트 14 통과 (0.02ms, 3.88MB)
테스트 15 통과 (0.02ms, 3.81MB)
테스트 16 통과 (0.02ms, 3.77MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0




총평

우선 입력 받은 배열을 divisor로 나머지를 계산합니다. 나머지가 없는 경우에는 answer에 추가합니다. 그 다음 answer 크기가 0인 경우에는 -1을 추가해줍니다. 크기가 0인 아닌 경우에는 오름차순 정렬을 합니다. 이 순서로 처리를 하면, 요구사항을 만족하여 문제를 해결할 수 있었습니다.

반응형