[백준] 10825 국영수 in Python + lambda 함수 정리

2022. 1. 24. 00:03·Algorithm (PS)
728x90

https://www.acmicpc.net/problem/10825

 

10825번: 국영수

첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1

www.acmicpc.net


n = int(input())
a = []
for i in range(n):
    a.append(input().split())
a.sort(key=lambda x:(-int(a[1]), int(a[2]), -int(a[3]), a[0]))
for i in a:
    print(i[0])

 

lambda 함수 는 익명함수 ! 즉 이름이 없는 함수이다. runtime에 생성해서 사용할 수 있는 익명 함수이다. 

sort() 함수와 종종 같이 사용되는 걸 볼수 있는데, list.sort() 는 key parameter가 있다.

key parameter를 통해서 함수를 커스텀(혹은 구체화)하여 사용할 수 있는 것이다. 

 

즉, key 다음에 lambda 함수를 써주어서 sort() 함수를 커스텀한것읻자.

또 다른예로, sorted()에서의 key parameter에 다른 함수를 넣어보자 


print(sorted("bear cat apple".split(), key=str.lower))

<출력>

['apple', 'bear', 'cat']

다음과 같이 알파벳 순으로 잘 정렬된 것을 확인 할 수 있다. 

형식은 다음과 같다. 

lambda 매개변수 : 표현식

# 일반 함수
def add(x, y):
    return x+y

print(add(10,20))

# 람다 형식 함수 
print((lambda x,y: x+y)(10,20))
728x90

'Algorithm (PS)' 카테고리의 다른 글

[백준] 2110 공유기 설치 in Python  (0) 2022.01.25
[카카오2019] 실패율 in Python  (0) 2022.01.25
[백준] 16234 인구이동 in Python  (0) 2022.01.23
[백준] 1451 직사각형으로 나누기 in Python  (0) 2022.01.23
[백준] 14888 연산자 끼워넣기 Python  (0) 2022.01.22
'Algorithm (PS)' 카테고리의 다른 글
  • [백준] 2110 공유기 설치 in Python
  • [카카오2019] 실패율 in Python
  • [백준] 16234 인구이동 in Python
  • [백준] 1451 직사각형으로 나누기 in Python
minjiwoo
minjiwoo
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
minjiwoo
minji's engineering note
minjiwoo
전체
오늘
어제
  • 분류 전체보기 (613) N
    • Data Engineering (42)
      • Apache Spark (11)
      • Databricks & Delta Lake (9)
      • Airflow (3)
      • SQL (6)
      • Trouble Shooting (2)
      • Hadoop (2)
      • MLOps (1)
    • Cloud Engineering (104)
      • AWS (23)
      • Linux 🐧 (29)
      • Docker 🐳 (21)
      • Kubernetes ⚙️ (20)
      • Ansible (10)
    • Computer Science (87)
      • 네트워크 (9)
      • 운영체제 (25)
      • 정보처리기사 (48)
      • CS 기술 면접 스터디 (3)
    • Programming Languages (27)
      • Python (17)
      • C와 C++ (10)
    • Backend (5)
      • Django (2)
    • 프로젝트 (2)
      • 테크포임팩트 (2)
    • iOS (11)
      • 레이블러리 (2)
    • Algorithm (PS) (275)
      • LeetCode (6)
    • 개발일기 (30) N
      • 내돈내산 후기🎮 (3)
      • 개발자 취준생 (5) N
      • Today I Learned (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Hi there

인기 글

태그

  • linux
  • 빅데이터
  • 쿠버네티스
  • ansible
  • dp
  • SPARK
  • 데이터엔지니어
  • 운영체제
  • Databricks
  • BFS
  • 프로그래머스
  • 코딩테스트
  • 파이썬
  • 클라우드
  • docker
  • 스파크
  • Kubernetes
  • 데이터브릭스
  • python
  • Swift
  • dfs
  • 알고리즘
  • EC2
  • 백준
  • AWS
  • 카카오코딩테스트
  • 백트래킹
  • 데이터엔지니어링
  • Leetcode
  • 리눅스

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.2
minjiwoo
[백준] 10825 국영수 in Python + lambda 함수 정리
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.