■ 백준 1546번 평균 문제
■ 코드 풀이
아이디어는 다음과 같습니다.
1) 과목 수 N을 입력 받습니다.
2) 과목들의 점수를 입력 받습니다.
3) lambda 함수를 사용하여 과목 별 값을 최대 값으로 나누고 100을 곱하여 다시 list로 저장합니다.
4) 최종 list의 평균을 구하여 출력합니다.
import sys
N = int(sys.stdin.readline())
scores = list(map(int, sys.stdin.readline().split()))
scores = list(map(lambda x : x/max(scores)*100, scores))
print(sum(scores)/len(scores))
저는 lambda를 함수를 정의해서 사용하고는 싶은데, 횟수가 1회성이거나 한 줄로 깔끔하게 표현하고 싶은 경우에 많이 사용합니다. (특히 map과 함께 자주 사용합니다.)
lambda x : x/max(scores)라는 의미는 x를 입력 받아서(매개 변수), x/max(scores)를 return하라는 의미입니다. 자세한 내용은 아래 링크 참고해주세요.
'코딩 테스트 > Python_백준' 카테고리의 다른 글
[백준/Python] 2675번 문자열 반복 문제 (0) | 2023.03.22 |
---|---|
[백준/Python] 11720번 숫자의 합 문제 (0) | 2023.03.22 |
[백준/Python] 10811번 바구니 뒤집기 문제 (0) | 2023.03.21 |
[백준/Python] 3052번 나머지 문제 (0) | 2023.03.20 |
[백준/Python] 5597번 과제 안 내신 분..? 문제 (0) | 2023.03.20 |
댓글