코딩테스트

C# 알고리즘 - 길이에 따른 연산

작성자 정보

  • 마스터 작성
  • 작성일

컨텐츠 정보

본문

[문제 설명]

 

정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요. 

 

[제한사항]

2 ≤ num_list의 길이 ≤ 20

1 ≤ num_list의 원소 ≤ 9

num_list의 원소를 모두 곱했을 때 2,147,483,647를 넘는 입력은 주어지지 않습니다.

 

[입출력 예]

 

[입출력 예 설명]

입출력 예 #1

리스트의 길이가 13이므로 모든 원소의 합인 51을 return합니다.

 

입출력 예 #2

리스트의 길이가 4이므로 모든 원소의 곱인 120을 return합니다.

 

[코드]

using System;


public class Solution {

    public int solution(int[] num_list) {

        int answer = 1;

        if(num_list.Length >= 11){

            for(int i =0; i<num_list.Length;i++){

                answer += num_list[i];

            }

        }else{

            for(int i =0; i<num_list.Length;i++){

                answer *= num_list[i];

            }

        }

        return answer = (num_list.Length >= 11) ? answer -1: answer;

    }

}

 

[풀이]

1.매개변수의 길이 확인

if(num_list.Length >= 11) 혹은 else

 

2.길이에 따른 연산

 

for(int i =0; i<num_list.Length;i++){ answer += num_list[i];}

for(int i =0; i<num_list.Length;i++){ answer *= num_list[i];}

 

3.제출

return answer = (num_list.Length >= 11) ? answer -1: answer;

 

 

[주소]

https://school.programmers.co.kr/learn/courses/30/lessons/181879

해당 알고리즘 문제는 프로그래머스의 알고리즘 문제입니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

최근글


새댓글


알림 0