코드네임 :

🌀파이썬 백준🌀 #1546 본문

프로그래밍/Python

🌀파이썬 백준🌀 #1546

비엔 Vien 2024. 8. 28. 17:25

흠 scores까지는 쓰긴했는데 다음을 모르겟늠 ㅋㅋ

# 모든 점수 나누기 최댓값 * 100
# 시험 본 과목 개수 N < 1000
# map split으로 성적 입력 받음

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)) #마지막은 scores만큼 반복하라는 뜻

avg = (sum(scores)/len(scores)) # sum(scores) : 위에서 scores리스트에 있는 모든 변환된 점수를 더함

print(avg)

 

흠 찾아보니 람다를 쓰라는데... 람다 까먹은지 100만년 된듯

람다!

https://wikidocs.net/64

 

3.5 람다(lambda)

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

wikidocs.net

 

 

lambda 매개변수 : 표현식

다음은 두 수를 더하는 함수입니다.

>>> def hap(x, y):
...   return x + y
...
>>> hap(10, 20)
30

람다형식으로

>>> (lambda x,y: x + y)(10, 20)
30

 

 

 

람다가 쓰이는 법

map()

먼저 map 함수를 볼까요?

map(함수, 리스트)

이 함수는 함수와 리스트를 인자로 받고 리스트로부터 원소를 하나씩 꺼내서 함수를 적용시킨 다음, 그 결과를 새로운 리스트에 담아줌

>>> map(lambda x: x ** 2, range(5))             # 파이썬 2
[0, 1, 4, 9, 16]  
>>> list(map(lambda x: x ** 2, range(5)))     # 파이썬 2 및 파이썬 3
[0, 1, 4, 9, 16]

위의 map 함수가 매개변수로 받은 함수는 lambda x: x ** 2구요, 리스트로는 range(5)를 받았습니다. range 함수는 알고계시죠? range(5) 라고 써주면 [0, 1, 2, 3, 4]라는 리스트를 돌려줍니다. 그리고 x ** 2 라는 것은 x 값을 제곱하라는 연산자죠.

 

map 함수는 리스트에서 원소를 하나씩 꺼내서 함수를 적용시킨 결과를 새로운 리스트에 담아주니까, 위의 예제는 0을 제곱하고, 1을 제곱하고, 2, 3, 4를 제곱한 것을 새로운 리스트에 넣어주는 것입니다.

'프로그래밍 > Python' 카테고리의 다른 글

🌀백준 파이썬🌀 #9086  (0) 2024.09.22
🌀백준 파이썬🌀 #27866,2743  (0) 2024.09.22
파이썬 추가..  (0) 2024.04.30
🌀파이썬 백준🌀 #10811  (0) 2024.03.29
🌀파이썬 백준🌀 #3052  (0) 2024.03.26