본문 바로가기
코딩test공부/백준python

8979.올림픽

by 왕방개 2024. 1. 3.

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

 

8979번: 올림픽

입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각

www.acmicpc.net

1.설명

이 문제에서 배워야할껀 2차원 배열 입력이라고 생각이됩니다!! 2차원 배열 입력받는 법에 대해서 알아볼께용

가로A, 세로 B길이의 배열을 선언한다고 가정합시다.(행렬로 하면A가 column,B가 row입니다.) 입력받을때 B의 크기는 반드시 알아야됩니다.

1.원소 하나씩 입력받기

arr = [for _ in range(B)] // 2차원 배열의 가로길이 : B

for i in range(B):    
	arr[i] = list(map(int, input().split()))

2.원소에 list 추가하기

arr = []

for i in range(B):    
	arr.append(list(map(int, input().split())))

3.선언과 동시에 입력

arr = [list(map(int, input().split())) for _ in range(B)]

 

저는 선언과 동시에 입력을 받고자 했습니다! 입력 받은 뒤에 내림차순으로 정렬시켰습니다!

2.코드

N, K = map(int, input().split())

medals = [list(map(int, input().split())) for _ in range(N)] #2차원 배열
    
medals.sort(key = lambda x : (x[1], x[2], x[3]), reverse=True)#내림차순으로 정렬


idx = [medals[i][0] for i in range(N)].index(K)

for i in range(N):
    if medals[idx][1:] == medals[i][1:]:
        print(i+1)
        break

 

'코딩test공부 > 백준python' 카테고리의 다른 글

9017.크로스 컨트리  (1) 2024.01.08
1244.스위치 끄고 켜기  (2) 2024.01.04
10431.줄세우기  (0) 2024.01.02
9655. 돌게임  (0) 2024.01.02
11723.집합  (1) 2023.12.28