728x90
반응형
문제 설명
정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요.
제한사항
- 2 ≤ num_list의 길이 ≤ 20
- 1 ≤ num_list의 원소 ≤ 9
입출력 예
num_list | result |
[3, 4, 5, 2, 5, 4, 6, 7, 3, 7, 2, 2, 1] | 51 |
[2, 3, 4, 5] | 120 |
입출력 예 #1
- 리스트의 길이가 13이므로 모든 원소의 합인 51을 return합니다.
입출력 예 #2
- 리스트의 길이가 4이므로 모든 원소의 곱인 120을 return합니다.
[나의 풀이]
import java.util.stream.IntStream;
class Solution {
public int solution(int[] num_list) {
return num_list.length > 10 ? IntStream.of(num_list).sum() : IntStream.of(num_list).reduce(1, (a,b) -> a*b);
}
}
[풀이과정]
주어진 정수 타입 배열 값을 IntSrtream. of()메소드를 통해 stream으로 변환한 뒤 누적합은 sum()메소드를 호출,
누적 곱은 reduce()메소드를 호출하여 연산한다.
[리팩토링] stream을 변수로 치환
import java.util.stream.IntStream;
class Solution {
public int solution(int[] num_list) {
IntStream stream = IntStream.of(num_list);
return num_list.length > 10 ? stream.sum() : stream.reduce(1, (a,b) -> a*b);
}
}
728x90
반응형
'코딩테스트 - 프로그래머스 > Lv. 0' 카테고리의 다른 글
[52] JAVA 배열의 유사도 (1) | 2023.11.21 |
---|---|
[51] JAVA 배열의 원소만큼 추가하기 (0) | 2023.11.20 |
[49] JAVA 원하는 문자열 찾기 (0) | 2023.11.20 |
[48] JAVA 부분 문자열인지 확인하기 (0) | 2023.11.20 |
[47] JAVA 모음 제거 (0) | 2023.11.20 |