코밍이의 하루
[Lv0] 배열의 평균값(Python) 본문
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/120817
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[나의 풀이]
def solution(numbers):
sum = 0
for i in numbers:
sum += i
return sum/len(numbers)
[다른 사람의 풀이]
def solution(numbers):
import numpy as np
return np.mean(numbers)
1. 사용한 개념
1) for 반복문
2) 할당 연산자
3) len()
4) numpy 라이브러리
2. 풀이 후기
- 리스트 내에 있는 요소를 for문을 통해 요소들을 더하고 리스트 요소 개수만큼 나누기 위해 len()을 이용하여 리스트 요소 개수를 구해 나누었다. 하지만 이렇게도 할 필요가 없었던 게 리스트에서 sum 메소드를 통해 sum(numbers)/len(numbers) 한 줄로도 끝낼 수 있었다. 당시에는 sum 메소드를 통해 배열 요소들을 합칠 수 있는지를 몰랐었다. 추가로 다른 사람의 풀이 중 numpy 라이브러리를 사용하여 푸는 방법이 있었는데 numpy 라이브러리를 사용하기 위해 import 선언해주고 명칭도 as를 써서 np로 사용하게 설정해두었다. 이러면 mean 메소드를 통해 배열의 평균값을 한 번에 구할 수 있었다. 이를 통해 라이브러리를 잘 만 활용하면 코드를 줄일 수 있고 코드가 더 쉬워지는 것을 알 수 있었다. 물론 numpy를 모르면 쓸 수 없기 때문에 다른 사람의 풀이를 보면서 라이브러리를 추가하여 푸는 문제때마다 라이브러리 공부를 틈틈히 해야겠다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Lv1] x만큼 간격이 있는 n개의 숫자(Python) (0) | 2023.02.22 |
---|---|
[Lv0] 삼각형의 완성조건(1)(Python) (0) | 2023.02.17 |
[Lv0] 배열 뒤집기(Python) (0) | 2023.02.17 |
[Lv0] 문자열 뒤집기(Python) (0) | 2023.02.17 |
[Lv0] 문자 반복 출력하기(Python) (0) | 2023.02.17 |