본문 바로가기
코딩 테스트/Python_백준

[백준/Python] 1546번 평균 문제

by 모두의 케빈 2023. 3. 21.

■ 백준 1546번 평균 문제

출처: 백준 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하라는 의미입니다. 자세한 내용은 아래 링크 참고해주세요.

https://wikidocs.net/64

 

3.5 람다(lambda)

오늘은 람다 형식과 그것을 이용하는 여러 가지 함수들에 대해서 알아보겠습니다. 당장 완벽하게 소화하실 필요는 없을 것 같구요, 가벼운 마음으로 이런 것이 있다는 정도만 아셔도 되…

wikidocs.net

 

댓글