코딩테스트/프로그래머스 | Lv. 0
[프로그래머스 | JAVA] 원소들의 곱과 합
리키권
2024. 12. 3. 12:33
문제 설명
정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.
제한사항
2 ≤ num_list의 길이 ≤ 10
1 ≤ num_list의 원소 ≤ 9
입출력 예
num_list result
[3, 4, 5, 2, 1] 1
[5, 7, 8, 3] 0
입출력 예 설명
- 입출력 예 #1
모든 원소의 곱은 120, 합의 제곱은 225이므로 1을 return합니다.
- 입출력 예 #2
모든 원소의 곱은 840, 합의 제곱은 529이므로 0을 return합니다.
제출답안 및 설명
class Solution {
// 배열의 모든 원소의 곱과 합의 제곱을 비교하여 결과를 반환하는 메소드
public int solution(int[] num_list) {
// 결과값을 저장할 변수 (사용되지 않음 - 중복 코드)
int result = 0;
// 모든 원소의 곱을 저장할 변수 (1로 초기화하여 곱셈 시작)
int multiple = 1;
// 모든 원소의 합을 저장할 변수
int add = 0;
// 향상된 for문을 사용하여 배열의 모든 원소를 순회
for (int num : num_list) {
multiple *= num; // 현재 원소를 곱함
add += num; // 현재 원소를 더함
}
// 삼항 연산자를 사용하여 최종 결과 반환
// 모든 원소의 곱이 합의 제곱보다 작으면 1, 아니면 0 반환
return multiple < (add*add) ? 1 : 0;
}
}