<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>
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
함수 정의
코드의 첫 부분에서 solution
이라는 함수를 정의합니다. 이 함수는 하나의 인자 data
를 받습니다. data
는 곱할 숫자들이 담긴 리스트입니다.
빈 리스트 처리
예외 상황으로 주어진 리스트 data
가 비어 있는지를 확인하여 처리합니다. if not data
는 리스트가 비어있을 때 참(True)이 되며, 이 경우 함수는 0을 반환하여 아무런 연산도 수행하지 않습니다.
초기값 설정
빈 리스트가 아닌 경우, 곱셈을 위한 결과를 저장할 변수 result
를 1로 초기화합니다. 1을 초기값으로 설정하는 것은 다음 순서에서의 곱셈에 영향을 주지 않으면서 리스트의 각 요소를 곱할 수 있기 때문입니다.
리스트 순회 및 곱셈 연산
주어진 리스트 data
의 각 요소를 반복하면서, 요소가 0인지 확인합니다. 만약 0이라면 곱셈 결과는 항상 0이 되므로 즉시 0을 반환하고 함수 실행을 종료합니다. 그렇지 않다면, result
에 현재 요소를 곱해나갑니다.
할당 연산자
기본 형태: 변수 = 표현식
개념: 변수에 값을 할당합니다. (=
, +=
, -=
, *=
, /=
등 여러 종류가 있습니다.)
# 할당연산자의 개념에서 위의 문제에 나온 곱하기만 다루고 있습니다.
# 변수에 값 곱하기 할당
y = 3
y *= 2
y = 6
# 세 번째 요소에 해당하는 값에 5를 곱하기
numbers = [1, 2, 3, 4]
numbers[2] *= 5
numbers = [1, 2, 15, 4]
def solution(data):
count = 1 **#1 초기값 설정**
if data == []: **#2 빈 리스트 처리**
return 0
else:
for i in data: **#3 리스트의 요소들을 곱셈**
count *= i
return count **#4 결과 반환**
초기값 설정
결과를 저장할 변수 count
를 1로 초기화합니다. 이 변수는 리스트의 모든 요소를 곱한 값을 담을 것입니다.
빈 리스트 처리
주어진 리스트 data
가 비어있는지 확인합니다. 만약 비어 있다면, 곱셈 연산을 수행할 요소가 없으므로 0
을 반환합니다.
리스트의 요소들을 곱셈
주어진 리스트 data
의 각 요소를 반복하면서, count
에 해당 요소를 곱하여 결과를 누적합니다.
결과 반환
모든 요소를 곱한 결과가 담긴 count
를 반환합니다.