https://www.acmicpc.net/problem/8979
문제 내용
각 국가마다 금 은 동 메달 획득수가 주어지고 우리가 찾고자하는 국가가 몇등인 찾는 문제이다
문제 조건은
입력
첫줄에 국가수 와 찾고자하는 국가
두번째줄 이후 부터는 그 국가의 번호와 메달 획득수를 금 은 동 메달 수로 차례로 나열한다
출력
찾고자하는 국가의 등수를 정수로 출력한
문제풀이
1) 모든 국가들에 대한 메달 정보들을 저장하고난후 금은동 메달 순으로 역정렬한다
2)찾고자 하는 국가의 인덱스를 찾는다
3)찾고자 하는 국가의 금은동 메달의 수를 저장한다
4) for문을 이용하여 찾고자 하는 국가까지의 인덱스 번호까지 루프를 돌면서 한개라도 더 많은
메달을 보유한 국가들을 카운트 한다
5)카운트한 수에다가 +1을 하여 출력한다
코드
n,k=map(int,input().split())
data=[]
#국가들의 정보 입력
for i in range(n):
a=list(map(int,input().split()))
data.append(a)
#국가들 전체 정렬 금은동 메달순으로 정렬
data.sort(key=lambda x:(-x[1],-x[2],-x[3],x[0]))
find=0
#찾고자 하는 국가 인덱스 위치 찾기
for i in range(n):
if data[i][0]==k:
find=i
break
#찾고자 하는 국가 메달수 저장
g=data[find][1]
s=data[find][2]
b=data[find][3]
count=0
#찾고자 하는 국가 매달수 보다 더 많은
#메달을 가지고 있는 국가수 체크
for j in range(find):
check=True
if data[j][1]>g:
check=False
if data[j][2]>s:
check=False
if data[j][3]>b:
check=False
if check==False:
count+=1
print(count+1)
반응형
'파이썬 문제풀이 > 구현' 카테고리의 다른 글
[백준 파이썬] 1644 소수의 연속합 (1) | 2024.04.05 |
---|---|
[백준 파이썬] 4307번 개미 (0) | 2024.03.30 |
[백준 파이썬] 2505번 두 번 뒤집기 (1) | 2024.03.09 |
[백준 파이썬]17140 이차원 배열과 연산 (0) | 2024.03.07 |
[삼성 sw 파이썬] 19113 식료품 가게 (1) | 2024.02.25 |