728x90
반응형
[문제 설명]
정수가 담긴 리스트 num_list가 주어질 때,
모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return 하도록 solution 함수를 완성하시오.
[제한 사항]
1) 2 <= num_list의 길이 <= 10
2) 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) {
// 원소들의 합^2 > 원소들의 곱 ? 1 : 0
int sum = 0;
int multi = 1;
for (int i = 0; i < num_list.length; i++) {
sum += num_list[i];
multi *= num_list[i];
}
return Math.pow(sum, 2) > multi ? 1 : 0;
}
1. 원소들의 합 sum 변수를 선언해준다.
2. 원소들의 곱 multi 변수를 선언해준다.
3. for문을 통해서 주어진 정수 리스트 num_list 를 돌며 sum 변수에는 모든 원소들을 더해주고,
multi 변수에는 모든 원소들을 곱해준다.
4. 제곱을 구하는 pow( ) 함수를 통해 모든 원소들의 합의 제곱 (= Math.pow(sum, 2)) 과
모든 원소들의 곱(= multi)을 비교하여 결과를 리턴한다.
[몰랐던 사실]
자바에서 제곱을 계산하는 방법 중 하나는 pow() 함수를 사용하는 것이 있다.
Math 클래스에서 제공하는 함수로 아래와 같은 형식으로 쓰일 수 있다.
Math.pow(param1, param2);
param1 과 param2 의 타입은 모두 double형 타입이다.
첫번째 파라미터인 param1 에는 밑수 값을 넣어주고, 두번째 파라미터 param2 에는 지수 값을 넣어주면 된다.
ex)
int x = Math.pow(3, 2); // 3의 제곱 = 3^2
int y = Math.pow(5, 3); // 5의 3제곱 = 5^3
System.out.println("x = " + x); // x = 9.000000
System.out.println("y = " + y); // y = 125.000000
728x90
반응형
'Algorithm > Programmers' 카테고리의 다른 글
Lv.0 - 문자열 곱하기 (0) | 2024.08.13 |
---|---|
Lv.0 - 문자열로 변환 (0) | 2024.08.13 |
Lv.0 배열에서 문자열 대소문자 변환하기 (0) | 2023.11.03 |
Lv.0 뒤에서 5등 위로 (0) | 2023.10.31 |
Lv.0 양꼬치 (0) | 2023.01.01 |