본문 바로가기
코딩테스트/LV. 1

LV. 1 :: 나누어 떨어지는 숫자 배열

by KUROMI98 2023. 1. 23.

https://school.programmers.co.kr/learn/courses/30/lessons/12910

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

function solution(arr, divisor) 
{
    var answer = [];
    var num =0;
    
    for (i=0; i<arr.length; i++) // arr의 모든 원소들에 대하여
    { 
        if (arr[i]%divisor==0) // 원소가 divisor로 나누어떨어진다면
            { 
                answer.push(arr[i]);
                //그 원소를 answer라는 배열에 넣고
                num += 1;
                // 나누어떨어지는 원소의 개수가 몇개인지 num을 보면 알 수 있게끔 해준다.
            }
    }
    
    if (num==0) {answer = [-1];}
    // 나누어떨어지는 원소의 개수가 한 개도 없다면 -1이 정답이고,
    else {answer = answer.sort((a,b)=>a-b);}
    // 나누어떨어지는 원소가 있다면 배열을 정렬해서 답으로 내놓는다.
    
    return answer;
}

230916 C++

#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]);
        }
    }
    sort(answer.begin(), answer.end()); 
    if (answer.size()==0) answer.push_back(-1);
    
    return answer;
}

댓글