<aside> 💬 lv0, 요구사항 구현

곱하기

문제 설명

주어진 리스트를 모두 곱하는 solution 함수를 완성해주세요.


제한 사항


입출력 예

입력 출력
[1, 2, 3, 4, 5] 120
[3, 5, 7, 1] 105

입출력 설명

[1, 2, 3, 4, 5]를 모두 곱하면 1 * 2 * 3 * 4 * 5로 120이 됩니다.

</aside>

😺 풀이 1. 할당연산자 활용

def solution(data): **#1 함수 정의**
    if not data:    **#2 빈 리스트 처리**
        return 0
    result = 1      **#3 초기값 설정**
    for x in data:  **#4 리스트 순회 및 곱셈 연산**
        if x == 0:
            return 0 
        result *= x
    return result   

단계별 풀이 전략

  1. 함수 정의

    코드의 첫 부분에서 solution이라는 함수를 정의합니다. 이 함수는 하나의 인자 data를 받습니다. data는 곱할 숫자들이 담긴 리스트입니다.

  2. 빈 리스트 처리

    예외 상황으로 주어진 리스트 data가 비어 있는지를 확인하여 처리합니다. if not data는 리스트가 비어있을 때 참(True)이 되며, 이 경우 함수는 0을 반환하여 아무런 연산도 수행하지 않습니다.

  3. 초기값 설정

    빈 리스트가 아닌 경우, 곱셈을 위한 결과를 저장할 변수 result를 1로 초기화합니다. 1을 초기값으로 설정하는 것은 다음 순서에서의 곱셈에 영향을 주지 않으면서 리스트의 각 요소를 곱할 수 있기 때문입니다.

  4. 리스트 순회 및 곱셈 연산

    주어진 리스트 data의 각 요소를 반복하면서, 요소가 0인지 확인합니다. 만약 0이라면 곱셈 결과는 항상 0이 되므로 즉시 0을 반환하고 함수 실행을 종료합니다. 그렇지 않다면, result에 현재 요소를 곱해나갑니다.

알아둬야 할 개념

할당 연산자

풀이 2. 조건문 활용

def solution(data):
    count = 1        **#1 초기값 설정**
    if data == []:   **#2 빈 리스트 처리**
        return 0
    else:
        for i in data:  **#3 리스트의 요소들을 곱셈**
            count *= i
        return count    **#4 결과 반환**

단계별 풀이 전략

  1. 초기값 설정

    결과를 저장할 변수 count를 1로 초기화합니다. 이 변수는 리스트의 모든 요소를 곱한 값을 담을 것입니다.

  2. 빈 리스트 처리

    주어진 리스트 data가 비어있는지 확인합니다. 만약 비어 있다면, 곱셈 연산을 수행할 요소가 없으므로 0을 반환합니다.

  3. 리스트의 요소들을 곱셈

    주어진 리스트 data의 각 요소를 반복하면서, count에 해당 요소를 곱하여 결과를 누적합니다.

  4. 결과 반환

    모든 요소를 곱한 결과가 담긴 count를 반환합니다.