[ Programmers ] 길이에 따른 연산 ( java ) 74 / 124
📚 Table of Contents
문제 설명
정수가 담긴 리스트 num_list
가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요.
제한사항
- 2 ≤
num_list
의 길이 ≤ 20 - 1 ≤
num_list
의 원소 ≤ 9 num_list
의 원소를 모두 곱했을 때 2,147,483,647를 넘는 입력은 주어지지 않습니다.
입출력 예
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합니다.
문제 풀이
코드 설명
- 코드의 목적:
- 주어진 숫자 배열의 길이에 따라 다른 연산을 수행
- 배열의 길이가 10보다 크면, 배열의 모든 원소를 합산
- 배열의 길이가 10 이하면, 배열의 모든 원소를 곱함
- 코드의 주요 구조:
- Solution 클래스와 solution 메소드로 구성
- solution 메소드에서 숫자 배열의 길이를 체크하고 해당하는 연산을 수행
- 코드의 주요 알고리즘:
- 스트림과 람다를 활용한 함수형 프로그래밍 스타일 사용
- 삼항 연산자를 사용하여 배열의 길이에 따라 다른 연산을 선택
- 코드의 핵심:
- 주어진 숫자 배열의 길이에 따라 다른 연산을 수행하는 것
- 스트림과 람다, 삼항 연산자 등을 효율적으로 사용
풀이
import java.util.Arrays;
// Solution 클래스 정의
class Solution {
// solution 메소드 정의, 정수 배열을 매개변수로 받음
public int solution(int[] num_list) {
// 배열의 길이가 10보다 크면 배열의 모든 원소를 합산하고, 10 이하면 배열의 모든 원소를 곱함
return num_list.length > 10 ? Arrays.stream(num_list).sum()
: Arrays.stream(num_list).reduce(1, (x, y) -> x * y);
}
}
'Coding > Programers' 카테고리의 다른 글
[ Programmers ] 대문자로 바꾸기 ( java ) 76 / 124 (0) | 2024.01.07 |
---|---|
[ Programmers ] 원하는 문자열 찾기 ( java ) 75 / 124 (0) | 2024.01.07 |
[ Programmers ] 1로 만들기 ( java ) 73 / 124 (0) | 2024.01.07 |
[ Programmers ] 조건에 맞게 수열 변환하기 2 ( java ) 72 / 124 (0) | 2024.01.05 |
[ Programmers ] 조건에 맞게 수열 변환하기 1 ( java ) 71 / 124 (0) | 2024.01.05 |