티스토리 뷰
728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/12944
<나의 풀이>
# 1번 풀이
def solution(arr):
answer = sum(i for i in arr) / len(arr)
return answer
# 2번 풀이
def solution(arr):
answer = 0
cnt = 0
for i in arr :
answer += i
cnt += 1
return answer / cnt
1번 풀이는 내장 함수를 이용해서 풀어봤고,
2번 풀이는 내장 함수를 사용하지 않고 풀어봤다.
가끔 코데에서 내장 함수 사용을 금지하는 경우가 있다고 해서
쉬운 문제여도 되도록 내장 함수를 사용 안 하고도 풀어봐야겠다.
다른 사람의 풀이를 보니 sum함수 안에 for를 안 해도 됐더라..!
역시 문제는 많이 풀어봐야하는 것 같다👊🏻
<다른 사람의 풀이>
def average(list):
if len(list) == 0:
return 0
return sum(list) / len(list)
# <배운점>
# => sum함수는 for를 안써도 list 요소를 다 더해준다는 점
from functools import reduce
def average(list):
return reduce(lambda x, y : x + y, list) / len(list)
# <배운점>
# => reduce와 람다 사용법을 배울 수 있었음
'''
< 더 알아보기 >
-----------------------------------------------------------------------
# reduce() : 여러 개의 데이터를 대상으로 주로 누적 집계를 내기 위해서 사용
=> from functools import reduce 필수
=> reduce(집계함수,순회 가능한 데이터[, 초기값])
-----------------------------------------------------------------------
# lambda 형식
=> 간단한 표현식을 함수처럼 다룰 수 있게 해주는 표현
=> 익명함수이기 때문에 한 번 쓰이고 다음 줄로 넘어가면 힙메모리영역에서 증발함
=> lambda 인자 : 형식
-----------------------------------------------------------------------
# 코드 해석
lst = [5,3,4]
return reduce(lambda x, y : x + y, list) / len(list)
=> lst에서 5와 3을 꺼내 더해줌
=> 그 결과에 4를 꺼내 더해줌
=> lst의 크기만큼 반복
=> 모든 요소를 다 더 한 후에 lst의 크기만큼 나눠줌
=> 그 결과를 반환
-----------------------------------------------------------------------
'''
import statistics
def average(list):
return statistics.mean(list)
# <배운점>
# => statistice 모듈에 대해 배울 수 있었음
'''
< 더 알아보기 >
-----------------------------------------------------------------------
# statistics : 수학 통계와 관련된 함수가 들어 있는 모듈
-----------------------------------------------------------------------
# mean(data) : 데이터의 산술평균을 구해주는 함수
-----------------------------------------------------------------------
# 코드 해석
lst = [5,3,4]
return statistics.mean(lst)
=> statistics 모듈의 mean 함수를 가져옴
=> lst의 산술평균을 구해서 반환함
-----------------------------------------------------------------------
'''
728x90
반응형
'[그 외] > ㄴ (코테연습 : 파이썬 ver)' 카테고리의 다른 글
[프로그래머스] 최대공약수와 최소공배수 (파이썬) (0) | 2021.06.16 |
---|---|
[프로그래머스] 콜라츠 추측 (파이썬) (0) | 2021.06.16 |
[프로그래머스] 하샤드 수 (파이썬) (0) | 2021.06.16 |
[프로그래머스] 핸드폰 번호 가리기 (파이썬) (0) | 2021.06.16 |
[프로그래머스] 행렬의 덧셈 (파이썬) (0) | 2021.06.16 |
댓글
250x250
반응형
TAG
- SWiFT
- 파이썬문법
- 코드잇
- 이진탐색
- 피보나치
- 프로그래머스
- GIT
- Summer/Winter Coding(~2018)
- 월간 코드 챌린지 시즌1
- 파이썬
- 백준
- 조합
- level2
- KAKAO
- 유닉스커맨드
- 알고리즘
- 프로그래머스문제
- 컴퓨터개론
- 프로그래머스코딩테스트
- 월간 코드 챌린지 시즌2
- 정렬
- 프로그래밍언어
- 설치
- 코딩테스트
- 문법
- 재귀함수
- x만큼간격이있는n개의숫자
- level1
- 알고리즘문제
- 프로그래머스 프로그래머스문제
최근에 달린 댓글
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
링크
- Total
- Today
- Yesterday