우선 문제를 알아보자
문제를 보고 처음든 생각은 sum이라는 변수랑 for문을 써서 간단하게 풀면 된다고 생각했다.
처음풀이:
def solution(numbers):
sum = 0
numbers = []
for i in ragne(len.numbers):
sum += numbers[i]
sum = answer
return answer
처음에는 이런식으로 풀었더니
AttributeError: 'builtin_function_or_method' object has no attribute 'numbers'
라는 에러가 생겼다.속성 에러? 뭔지 몰라 구글링해보니 numbers라는 변수가 존재하지않는다고 되었다.
C언어에서는 numbers = []는 빈 배열을 만든다고 생각한다.
하지만 위의 코드에서는 어디에서도 배열을 선언하지않았는데 자동으로 number라는 배열이 선언되었다.
이것에 대한 궁금증으로 찾아보니,파이썬의 동적 타입 시스템이기때문에 자동으로 리스트를 선언해준다고 한다.
그래서 코드를 다시짜보면
def solution(numbers):
sum = 0
for i in numbers:
sum += i
answer = sum/len(numbers)
return answer
sum이라는 변수에 0을 선언하고, numbers까지 for문을 반복하고,sum 이라는 변수에 i를 더해가며 전체의 합을구한다
그리고 answer라는 변수에 sum/numbers의 길이를 나누어주면 평균이 나온다.
'코딩테스트' 카테고리의 다른 글
프로그레머스 레벨 0 모음 제거 (0) | 2024.04.11 |
---|---|
프로그래머스 레벨 0 개미 군단 (1) | 2024.04.09 |
프로그래머스 레벨0 배열 뒤집기 (2) | 2024.04.08 |
정올 문자열(761,763,993) (1) | 2024.04.07 |
프로그래머스 0단계 양꼬치 (0) | 2024.04.04 |