Develop
[프로그래머스] 원소들의 곱과 합 본문
문제
내 풀이
class Solution {
public int solution(int[] num_list) {
int sum = 0;
int mul = 1;
for(int a : num_list){
mul *= a;
sum += a;
}
sum *= sum;
return mul < sum? 1 : 0;
}
}
느낀점
sum *= sum;
return mul < sum? 1 : 0;
부분을
return mul < sum*sum? 1 : 0;
이렇게 줄여서 return 하는 것이 더 좋아보인다
다른 풀이
import java.util.Arrays;
class Solution {
public int solution(int[] numList) {
return (Arrays.stream(numList).reduce((acc, i) -> acc * i).getAsInt() < Math.pow(Arrays.stream(numList).sum(), 2)) ? 1 : 0;
}
}
느낀점
stream 과 삼항연산자를 사용해서 간결하게 표현 잘했다
.reduce()은 누적계산에 사용된다
ex)
Arrays.stream(arr).reduce((a,b) -> a+b).getAsInt() 를 입력하면
a와 b로부터 배열의 요소를 각각 받아서 더하는 연산을 수행한다
연산이 끝난 뒤 결과값이 나온다
'개인 공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 카운트 업 (0) | 2024.01.21 |
---|---|
[프로그래머스] 홀수 vs 짝수 (0) | 2024.01.20 |
[프로그래머스] 주사위 게임2 (0) | 2024.01.18 |
[프로그래머스] 등차수열의 특정한 항만 더하기 (0) | 2024.01.18 |
[프로그래머스] 코드 처리하기 (0) | 2024.01.18 |