<aside>
💬 lv0
, 정렬
반별 점수가 [국, 영, 수]로 인원만큼 주어집니다. 평균 점수가 80점 이상인 인원이 얼마나 되는지 카운팅하는 solution함수를 완성해주세요.
입력 | 출력 |
---|---|
[[98, 92, 85], [95, 32, 51], [98, 98, 51]] | 2 |
[[92, 85, 97], [30, 21, 60], [90, 99, 98], [0, 0, 0], [81, 80, 88, 83]] | 3 |
[[98, 92, 85], [95, 32, 51], [98, 98, 51]]에서 첫번째 값인 98은 국어, 92는 영어, 85는 수학 점수입니다. 이를 모두 더하면 275이고 이를 3으로 나누면 91.66이 나오게 됩니다. 이는 80점보다 높은 점수이고 이렇게 나머지 값을 모두 연산하면 총 2개의 값이 80점보다 높은 값인 것을 알 수 있습니다. 따라서 2를 반환합니다.
</aside>
def solution(data):
return sum(1 for row in data if sum(row[:3]) >= 180) **#1 sum #2 리스트 컴프리헨션**
sum 함수
입력된 데이터에서 각 학생의 점수 합을 계산하고, 그 값이 180 이상인 경우를 카운트하여 반환합니다.
리스트 컴프리헨션
각 학생의 점수 합이 180 이상인 경우를 카운트합니다.
sum 함수
기본 형태: sum(iterable, start=0)
개념: sum()
함수는 주어진 이터러블(시퀀스)의 모든 요소를 더한 값을 반환합니다. 선택적으로 시작값(start)을 지정할 수 있으며, 이 시작값은 덧셈의 초기값으로 사용됩니다.
# sum 함수를 사용하여 리스트의 합 구하기
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total)
def solution(data):
return len(list(filter(lambda x: x > 240, map(sum,data))))
입력된 데이터에서 각 학생의 점수 합을 계산한 후, 그 값이 240 이상인 경우를 필터링하여 그 개수를 반환합니다.
map()
함수 & filter()
함수
각 학생의 점수 합을 계산하고, filter()
함수를 사용하여 그 값이 240 이상인 경우를 필터링합니다.
map 함수
기본 형태: map(function, iterable, ...)
개념: map()
함수는 주어진 함수(function)를 시퀀스나 이터러블(iterable)의 모든 요소에 적용하여 새로운 이터러블을 반환합니다. 즉, 각 요소에 함수를 적용한 결과를 담은 이터러블을 생성합니다.
# map 함수를 사용하여 각 요소를 제곱하는 예제
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x ** 2, numbers)
print(list(squared_numbers))