문제 설명
정수가 담긴 리스트 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 |
class Solution {
public int solution(int[] num_list) {
int answer = 0;
int sum = 0;
int mul = 1;
for (int i = 0; i < num_list.length; i++) {
sum += num_list[i];
mul *= num_list[i];
}
if (Math.pow(sum, 2) > mul) {
answer = 1;
}
return answer;
}
}
합의 제곱을 담을 sum 변수와 곱을 담을 변수 mul을 생성합니다. 이때 곱셈의 초기화 값이 0이라면 잘못된 계산이 발생할 수 있으므로 0이 아닌, 1로 설정했습니다.
for문이 num_list의 길이만큼 순회합니다. 문제 조건에 맞게 각각 더하기 할당과 곱하기 할당으로 리스트의 원소를 계산합니다. if문에서 원소들의 합의 제곱이 곱의 제곱보다 크면 answer에 1을 할당하도록 합니다. answer의 초기화 값은 0이므로 조건에 해당하지 않는다면 0을 반환할 것입니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 글자 이어 붙여 문자열 만들기(Java) (0) | 2023.04.29 |
---|---|
[프로그래머스 코딩테스트] 카운트 업(Java) (0) | 2023.04.28 |
[프로그래머스 코딩테스트] flag에 따라 다른 값 반환하기(Java) (0) | 2023.04.28 |
[프로그래머스 코딩테스트] 홀짝에 따라 다른 값 반환하기(Java) (0) | 2023.04.28 |
[프로그래머스 코딩테스트] 공배수(Java) (0) | 2023.04.28 |