프로그래머스 원소들의 곱과 합

KIMYEONGJUN·2026년 5월 11일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.

내가 이 문제를 보고 생각해본 부분

Main16 클래스 내부에 solution 메서드를 static으로 선언해 main 메서드에서 직접 호출 가능하게 했다.
solution 메서드는 입력받은 정수 배열을 반복하면서 원소들의 곱(product)과 합(sum)을 차례로 계산한다.
곱한 값과 합의 제곱을 비교하여 조건에 따라 1 또는 0을 반환한다.
main 메서드는 두 가지 예시를 배열로 선언하고, 각각 solution 메서드를 호출하여 결과를 출력한다.

코드로 구현

class Solution {
    public int solution(int[] num_list) {
        int product = 1; 
        int sum = 0;
        
        for (int num : num_list) {
            product *= num;
            sum += num;
        }
        
        if (product < sum * sum) {
            return 1;
        } else {
            return 0;
        }
    }
}

프로그래머스 코드

package programmers;

// 프로그래머스 원소들의 곱과 합
public class Main16 {
    // 모든 원소의 곱과 합의 제곱을 비교하는 메서드
    public static int solution(int[] num_list) {
        int product = 1; // 곱을 1로 초기화
        int sum = 0;     // 합을 0으로 초기화

        // 배열 순회하며 곱과 합 계산
        for (int num : num_list) {
            product *= num;
            sum += num;
        }

        // 곱이 합의 제곱보다 작으면 1, 아니면 0 반환
        if (product < sum * sum) {
            return 1;
        } else {
            return 0;
        }
    }

    // main 메서드에서 테스트 실행
    public static void main(String[] args) {
        int[] example1 = {3, 4, 5, 2, 1};
        int[] example2 = {5, 7, 8, 3};

        System.out.println(solution(example1)); // 1 출력 예상
        System.out.println(solution(example2)); // 0 출력 예상
    }
}

위에 있는 코드를 변경한 코드

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글