728x90
https://www.acmicpc.net/problem/15905
15905번: 스텔라(STELLA)가 치킨을 선물했어요
경인지역 6개대학 연합 프로그래밍 경시대회 shake! 는 아주대학교, 경희대학교, 성균관대학교, 인하대학교, 한국항공대학교, 한양대학교ERICA가 함께하는 대학교 자체 연합 대회이다. shake! 는 매
www.acmicpc.net
필요 개념
- 익명함수
- sorted 함수
- 리스트 인덱싱
풀이과정
패널티는 같을 수 없다는 조건 덕분에 쉬워진 문제이다.
익명함수를 이용한 정렬에서 풀어낸 문제 수는 내림차순으로, 패널티는 오름차순을 기준으로 정렬한다.
그 후 6등부터 꼴등까지의 범위에서 5등과 풀어낸 문제 수가 같은 참가자 수만 카운팅해주면 된다.
이때 for 문에서 인덱싱은 단순히 i+4 로 접근할 경우 index out of range 오류가 나타나므로 '-'를 이용해 인덱싱한다.
답
# 5등과 패널티 차이로 수상 못한 학생에게만(6등부터 카운팅 시작)
N = int(input())
student = []
for i in range(N):
student.append(list(map(int, input().split())))
student = sorted(student, key = lambda x: [-x[0], x[1]])
cnt = 0
if N == 5:
cnt = 0
else:
for i in range(1, N-4): # out of range 오류 피하기 위해 '-' 이용하여 인덱싱
if student[-i][0] == student[4][0]: # 5등과 등수가 같은 경우에만 카운팅
cnt += 1
print(cnt)
728x90
'Programming Languages > Python' 카테고리의 다른 글
[에러] TypeError: can only concatenate str (0) | 2023.01.20 |
---|---|
[Python] 어떤 메서드 들어있는 지 확인하기 (dir 함수) (0) | 2023.01.06 |
[python/백준] 5533번 유니크 (1) | 2022.12.24 |
[에러] TypeError: 'builtin_function_or_method' object is not subscriptable (0) | 2022.12.24 |
[백준/python] 2566번 최댓값 (0) | 2022.12.24 |