반응형
츄르사려고 코딩하는 코집사입니다.
1. [백준 알고리즘] 백준 20124번 모르고리즘 회장님 추천 받습니다 파이썬(Python)
1) 문제번호 : 20124번
2) 문제 출처
https://www.acmicpc.net/problem/20124
2. 문제
국렬이는 모르고리즘 차기 회장을 빠르게 구해야 한다. 안 그러면 대학원 가서도 회장을 해야 하기 때문이다.
그래서 국렬이는 어떻게든 2020년 연세대학교 프로그래밍 경진대회를 열어서 차기 회장을 선택하려고 했으나, 코로나19 때문에 미루고 결국 11월에 개최하게 되었다.
국렬이는 대회를 치른 사람 중에서 점수가 가장 높은 사람을 억지로 차기 회장으로 지목하려고 한다. 만약에 가장 높은 사람이 2명 이상 있는 경우, 이름이 사전 순으로 가장 앞선 사람을 차기 회장으로 뽑을 것이다.
차기 회장으로 누가 지목될지 알아내라.
3. 제약사항
- 1 ≤ N ≤ 100,000. N은 사람의 수를 나타내는 양의 정수다.
- Ai는 길이가 1 이상 10 이하의 알파벳 소문자로 구성된 문자열로 참여자의 이름이다. (1 ≤ i ≤ N)
- Ai ≠ Aj (1 ≤ i < j ≤ N)
- 1 ≤ Bi ≤ 1,000,000,000 (1 ≤ i ≤ N). Bi는 점수를 의미하는 양의 정수다.
4. 입력
다음과 같이 입력이 주어진다.
N
A1 B1
. . . . . .
AN BN
5. 출력
첫째 줄에 차기 회장으로 뽑힐 사람의 이름을 출력하여라.
6. 풀이
- sort의 람다를 설정해서 2중 조건 정렬하면 되는데, 자꾸 에러가 떠서 점수로 내림차순 하고, 다시 그 이름을 리스트로 받아와서 오름차순으로 정렬해서 출력했다.
7. 소스 코드
import sys
input=sys.stdin.readline
N = int(input()) # 사람의 수
result = []
MAX = 0
for _ in range(N) :
A, B = map(str, input().split())
result.append([A,int(B)])
if int(B) > MAX :
MAX = int(B)
# 점수로 내림차순
result.sort(key = lambda x : x[1], reverse=True)
name = []
for i,j in result :
if j == MAX :
name.append(i)
name.sort()
print(name[0])
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 백준 2693번 N번째 큰 수 파이썬(Python) (0) | 2021.06.18 |
---|---|
[백준 알고리즘] 백준 7785번 회사에 있는 사람 파이썬(Python) (0) | 2021.06.17 |
[백준 알고리즘] 백준 5568번 카드 놓기 파이썬(Python) (0) | 2021.06.17 |
[백준 알고리즘] 백준 20125번 쿠키의 신체 측정 파이썬(Python) (0) | 2021.06.17 |
[백준 알고리즘] 백준 1629번 곱셈 파이썬(Python) (0) | 2021.06.15 |
[백준 알고리즘] 백준 16922번 로마 숫자 만들기 파이썬(Python) (0) | 2021.06.15 |
[백준 알고리즘] 백준 14248번 점프 점프 파이썬(Python) (0) | 2021.06.12 |
[백준 알고리즘] 백준 11725번 트리의 부모 찾기 파이썬(Python) (0) | 2021.06.12 |
최근댓글