728x90
문제
정수로 이루어진 리스트와 정수가 입력되었을 때 리스트 중 입력된 정수로 나누어 떨어지는 수를 오름차순으로 정렬하여 출력한다.
만약 나누어 떨어지는 수가 없다면 -1을 포함시켜 출력한다.
입력
[5, 9, 7, 10] 5
[3, 2, 6] 10
출력
[5, 10]
[-1]
1. 리스트를 탐색하여 divisor와 나누어 떨어지는 수를 answer에 추가한다.
2. 리스트 탐색이 종료되었을 때 answer가 빈 리스트면 -1을 추가한다.
3. 마지막으로 answer을 정렬하여 반환한다.
python
def solution(arr, divisor):
answer = []
for number in arr:
if not number%divisor:
answer.append(number)
if answer==[]:
answer.append(-1)
answer.sort()
return answer
c++
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr, int divisor) {
vector<int> answer;
int size=arr.size();
for(int i=0;i<size;i++){
if(!(arr[i]%divisor))
answer.push_back(arr[i]);
}
if (answer.empty())
answer.push_back(-1);
sort(answer.begin(),answer.end());
return answer;
}
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[Level1] 완주하지 못한 선수 (0) | 2021.01.22 |
---|---|
[Level1] 같은 숫자는 싫어 (0) | 2021.01.21 |
[Level1] 자릿수 더하기 (0) | 2021.01.21 |
[Level1] 시저 암호 (0) | 2021.01.21 |
[Level1] 두 정수 사이의 합 (0) | 2021.01.21 |