[Golang] 프로그래머스 Lv.0 길이에 따른 연산

이지연·2024년 4월 8일

프로그래머스 - 코딩 기초 트레이닝
11) 길이에 따른 연산
문제

문제 설명

정수가 담긴 리스트 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합니다.

내가 푼 풀이:)

func solution(num_list []int) int {
	//1-1)리스트의 길이 >= 11: 리스트에 있는 모든 원소의 합
	var result int
	if len(num_list) >= 11 {
		result = 0
		for i := 0; i < len(num_list); i++ {
			result += num_list[i]
		}
	} else { //1-2)리스트의 길이 <= 10: 리스트에 있는 모든원소의 곱
		result = 1

		for i := 0; i < len(num_list); i++ {
			result *= num_list[i]
		}
	}

	//2)모든 원소의 곱을 return
	return result

}

다른 사람 풀이:)

func solution(num_list []int) int {
    mul, sum := 1, 0
    for _, v := range num_list {
        mul *= v
        sum += v
    }

    if len(num_list) >= 11 {
        return sum
    }
    return mul
}

기초 개념 닦기

생략

자기점검 체크리스트

1.연산을 이해하고 있는가
2.for문을 이용해서 적용 가능한가?

1.Y
2.Y

profile
Everyday STEP BY STEP

0개의 댓글