코밍이의 하루

[Lv0] 배열의 평균값(Python) 본문

알고리즘/프로그래머스

[Lv0] 배열의 평균값(Python)

코밍이 2023. 2. 17. 16:35

문제 링크 : 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를 모르면 쓸 수 없기 때문에 다른 사람의 풀이를 보면서 라이브러리를 추가하여 푸는 문제때마다 라이브러리 공부를 틈틈히 해야겠다.