[C++] 프로그래머스 길이에 따른 연산
문제설명
정수가 담긴 리스트 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 |
풀이
리스트의 길이가 11 이상이면 모든 원소의 합을 return하고 10 이하면 모든 원소의 곱을 return하는 로직을 구현하는 구현 문제입니다.
#include <string>
#include <vector>
using namespace std;
int solution(vector<int> num_list) {
int answer = 0;
for(int i = 0; i < num_list.size(); i++)
{
if(num_list.size() >= 11)
{
answer += num_list[i];
}
else
{
if(answer == 0)
answer = 1;
answer *= num_list[i];
}
}
return answer;
}
결과
Leave a comment