[C++] 프로그래머스 나누어 떨어지는 숫자 배열
반응형
programmers.co.kr/learn/courses/30/lessons/12910
1. 서론
level 1의 1학년도 풀 수 있는 문제. 정렬을 생각하면 1학년은 어려울 수도 ㅎ
2. 문제 풀이
자연수로 이루어진 배열이 있고 숫자가 하나 주어진다. 배열에 있는 값과 주어진 값을 나누었을 때 나머지가 없으면 그 값을 저장하고 모아서 출력한다. 만약 나누어 떨어지는 숫자가 없으면 -1을 배열에 넣어준다. 그리고 배열을 오름차순으로 출력한다.
2, 36, 1, 3 -> 1
=> 2, 36, 1, 3 => 1, 2, 3, 36
3. 코드 설명
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr, int divisor) {
vector<int> answer;
int i;
for (i = 0; i < arr.size(); i++)
if(arr[i] % divisor == 0)
answer.push_back(arr[i]);
if (answer.empty())
answer.push_back(-1);
sort(answer.begin(), answer.end());
return answer;
}
arr는 주어지는 배열 divisor는 나눌 값이다. arr 배열의 값과 divisor의 나머지가 0이면 answer 배열에 넣는다.
나누어 떨어지는 경우가 없으면 answer에 아무런 값도 들어가지 않기 때문에 -1을 넣어준다.
answer 배열을 오름차 순으로 정렬 후 return 해준다.
별로 어렵지도 않은 문제지만 기록용 ㅎ
반응형
'Algorithm' 카테고리의 다른 글
[C++] 프로그래머스 문자열 내 마음대로 정렬하기 (0) | 2020.11.12 |
---|---|
[C++] 프로그래머스 두 정수 사이의 합 (0) | 2020.11.11 |
[C++] 프로그래머스 같은 숫자는 싫어 (0) | 2020.11.10 |
[C++] 프로그래머스 가운데 글자 가져오기 (0) | 2020.11.09 |
[C++] 프로그래머스 3진법 뒤집기 (0) | 2020.11.08 |