programmers Day11

Hwani·2024년 5월 16일

프로그래머스 DAY 1~25

목록 보기
11/51

문제 - 주사위의 개수

풀이

class Solution {
    public int solution(int[] box, int n) {
        return (box[0] / n) * (box[1] / n) * (box[2] / n);
    }
}

문제 - 합성수 찾기

풀이

class Solution {
    public int solution(int n) {
        int answer = 0;

        for (int i = 0; i <= n; i++) {
            int count = 0;
            // j가 i의 약수인지 판단
            for (int j = 1; j <= i; j++) {
            	// 약수라면 count 1씩 증가
                count += (i % j == 0) ? 1 : 0;
            }
            // 약수의 갯수가 3개 이상이면 answer 1씩 증가
            answer += (count >= 3) ? 1 : 0;
        }
        
        return answer;
    }
}

문제 - 최댓값 찾기(1)

풀이

import java.util.Arrays;

class Solution {
    public int solution(int[] numbers) {
        Arrays.sort(numbers); 
        // 배열 정렬 후 인덱스 넘버로 마지막에서 2번째 1번째 값 곱하기
        return numbers[numbers.length-1]* numbers[numbers.length-2];
    }
}

문제 - 팩토리얼

풀이

class Solution {
    public int solution(int n) {
        int answer = 0;
        for (int i = 1; i <= 10; i++) {
            if (n >= factorial(i)) {
                answer = i;
            } else {
                break;
            }
        }
        return answer;
    }

    public static int factorial(int number) {
        if (number > 1) return number * factorial(number - 1);
        return number;
    }
}

설명

  • 문제에서 제한사항이 0 < n <= 3,628,000 이므로 최대 팩토리얼은 10이다 그러므로 i값은 10까지이다.
profile
개발자될거야

0개의 댓글