CS/알고리즘

알고리즘 문제 풀기(N번째 큰 수 구하기))

ri5 2021. 3. 3. 16:37

문제 2693

 

배열 A가 주어졌을 때, N번째 큰 값을 출력하는 프로그램을 작성하시오.

배열 A의 크기는 항상 10이고, 자연수만 가지고 있다. N은 항상 3이다.

입력


첫째 줄에 테스트 케이스의 개수 T(1 <= T <= 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000보다 작거나 같은 자연수이다.

 

 

 

출력


각 테스트 케이스에 대해 한 줄에 하나씩 배열 A에서 3번째 큰 값을 출력한다.

 

 

풀이


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

for i in range(0,N):
     A[i] = sorted(A[i])
     A[i].reverse()
     print(A[i][2])

 

 

2차원 배열에 관한 문제를 풀어보았다. 문제 자체는 어렵지 않지만 2차원배열을 사용하는게 익숙하지 않아서 헤매는 시간이 좀 길었다.
여러가지 기능을 검색해보면서 최대한 간결하게 코드로 작성을 할 수 있었다. map과 언더바 사용은 자주 사용될꺼 같다.