코딩테스트/프로그래머스 - LV 0

[프로그래머스] 수학, 반복문

웅드 2024. 1. 9. 11:31
  • 주사위의 개수
#include <string>
#include <vector>

using namespace std;

int solution(vector<int> box, int n) {
    int answer = 1;
    answer *= box[0]/n;
    answer *= box[1]/n;
    answer *= box[2]/n;
    return answer;
}
  • 합성수 찾기
#include <string>
#include <vector>

using namespace std;

int ans(int n){
    int num = 0;
    for(int i=1; i<n+1; i++){
        if(n % i == 0){
            num++;
        }
    }
    return num;
}

int solution(int n) {
    int answer = 0;
    int num=0;
    while(n!=0){
        num = ans(n);
        if(num>=3) answer++;
        n -=1;
    }
    return answer;
}
  • 최댓값 만들기(1)
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(vector<int> numbers) {
    int answer = 0;
    answer = numbers.size();
    sort(numbers.begin(), numbers.end());
    return numbers.at(answer-2)*numbers.at(answer-1);
}
  • 팩토리얼
#include <string>
#include <vector>

using namespace std;

int factorial(int n) {
    if(n==1) return 1;
    return n * factorial(n-1);
}

int solution(int n){
    int answer=1;
    while(1){
        if(n<factorial(answer)){
            return answer-1;
        }
        answer++;
    }
    return 1;
}
반응형