#include <string>
#include <vector>

using namespace std;

int solution(int n) {
    int answer = 0;
    int tmp = 0;
    for(int i=1; i <= n/2; i++){
        tmp = i;
        for(int j =i+1; j <= n; j++){
            tmp += j;
            if(tmp == n){
                answer+=1;
                break;
            }
        }
    }
    answer+=1;
    return answer;
}

정확성 테스트에선 모두 맞았지만,, 효율성 테스트는 모두 시간 초과이다..이중 for문이어서 그런 것 같은데 더 줄일 방법을 생각해봐야겠다.

#include <string>
#include <vector>

using namespace std;

int solution(int n) {
    int answer = 0;
    for(int i=1; i <= n; i++){
        if(n%i ==0)
            answer +=i;
    }
    return answer;
}
#include <string>
#include <vector>

using namespace std;

string solution(int n) {
    string answer = "";
    vector <string> watermelon {"수", "박"};
    for(int i=0;i < n; i++){
        answer += watermelon[i%2];
    }
    return answer;
}
#include <string>
#include <vector>

using namespace std;
vector<int> sort(vector<int> a){
    int tmp = 0;
    for(int i=0; i < a.size()-1; i++){
        for(int j  = i+1;j < a.size(); j++){
            if(a[i]>a[j]){
                tmp = a[i];
                a[i] = a[j];
                a[j] = tmp;
            }
        }
    }
    return a;
}
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
        answer = sort(answer);
    return answer;
}

+ Recent posts