(TIL) 20210511
2021. 5. 12. 01:21ㆍTIL(Today I learned)
반응형
1.Facts(한 것)
- 파이썬으로 백준 문제 다시 풀기
- 운동하기
- 학교 수업듣기
- 파이썬 복습하기
- 짝 프로그래밍
2.Findings(배운 것)
from statistics import *
n = int(input())
l = []
for _ in range(n):
l.append(int(input()))
print('%.0f'%mean(l), median(l), sorted(multimode(l))[:2][-1],max(l)-min(l))
위 코드는 여러 개의 수를 입력받고
각각 평균, 중간값, 최빈값, 범위를 출력하는 문제의 답이다.
(위 코드는 직접 짠 코드에 참고사항을 덧 붙여 더 줄인 코드이다.)
어떻게 하면 코드를 좀 더 간결하게 짤 수 있을까에 대해 여러번 고민을 했다.
찾아 본 결과, 파이썬에는 mean, median과 같은 엄청난 함수들이 숨어 있었고(역시 데이터를 위한 언어)
이를 활용하여 평균과 중간값을 아주 쉽게 구해 냈다.
(mean의 경우 fmean을 사용해도 좋다)
문제는 최빈값이었는데, 최빈값의 경우 리스트를 만들어서 구하면 그만이지만
좀 더 간결하게 할 수 있는 방법이 없을까 고민했고,
역시 데이터를 위한 언어인가, mutimode()라는 최빈값을 찾는 함수가 있었다
먼저 sorted로 오름차순 정렬 후 최빈값을 찾는데
문제에서 제시한 조건이 최빈값이 여러개일 경우 두 번째로 작은 값을 출력하는 것이므로
최빈값을 두개까지만 찾아 내면 되는 것이다.
그리고[-1]을 통해서 가장 마지막 원소를 프린트 한다.
결론 : 파이썬엔 다양한 메서드가, 특히 수식과 관련된 메서드가 많다.
3.Feeling(느낀 점)
매사에 호기심이 많아서 궁금증이 해결될 때까지 하는 성격인데,
코딩이 딱 적성에 맞다.
매일매일 새로운 것을 알아가고, 성장한다는 느낌에 항상 뿌듯하다.
4.Affirmation(자기 선언)
- 尽人事听天命
반응형
'TIL(Today I learned)' 카테고리의 다른 글
(TIL) 20210513 (0) | 2021.05.14 |
---|---|
(TIL) 20210512 (0) | 2021.05.12 |
(TIL) 20210510 (0) | 2021.05.10 |
(TIL) 20210509 (0) | 2021.05.10 |
(TIL) 20210508 (0) | 2021.05.08 |