Java 프로그래머스 코딩테스트 : 길이에 따른 연산
<문제>
정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요.

[문제 해석]
모든 원소의 합 또는 모든 원소의 곱을 return 해야하니까 원소의 합과 곱을 담을 변수를 각각 초기화해서 준비해줘야겠다. 그리고 if 문을 사용해서 리스트의 길이를 비교하면 될 것 같다.
원소의 합을 담을 변수 sum을 0 으로 초기화 해준다. 그리고 곱을 담을 변수 multiply는 곱을 구해야 하니까 1로 초기화 해준다.
이때 원소의 합과 곱은 Java에서 for - each 문을 사용해서 만들어 주면 편리하다.
for - each 문
for ( 변수명 : 참조변수명) {
// 내용
}
참조변수명에는 String이나 배열이 들어간다.
반복문을 이용해서
for ( int num : num_list) {
sum += num;
multiply *= num;
}
처럼 원소의 합과 곱을 구해준다.
그리고 num_list.length 로 리스트의 길이를 구한다.
이때 11 이상이면 sum을 , 그렇지 않으면 multiply를 반환한다.

class Solution {
public int solution(int[] num_list) {
int sum = 0;
int multiply = 1;
for (int num : num_list) {
sum += num;
multiply *= num;
}
if (num_list.length >= 11) {
return sum;
} else {
return multiply;
}
}
}
이것도 기초 문제이지만 꾸준히 매주 문제를 풀어나가고 있다는 점에서 전보다 성장한 것 같다. 무엇보다 꾸준히 도전하는게 중요하니 열심히 해봐야겠다. 아직 어려운 문제들은 도전하기가 쉽지 않다.
https://school.programmers.co.kr/learn/courses/30/lessons/181879?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr