ALGORITHM

알고리즘 스터디, 03: 백준 2693번, N번째 큰 수 [PYTHON][파이썬]

정설아05 2022. 9. 30. 18:15

문제

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

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

 

입력

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

 

출력

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

 

시사점

배열 A에 대하여 3번째 큰 값을 출력한다. 이때, 배열의 크기는 항상 10이여야 한다.

 

 

test=int(input())

A=[0 for i in range(9)]
#A=[]*9

for i in range(test):
    A=list(map(int, input().split()))
    A.sort()
    print(A[7])

 

test=int(input()) 
test 값을 받는다.
 
A=[0 for i in range(9)]
길이가10인 빈 리스트 A를 만들어 준다. 
for i in range(test):
    A=list(map(int, input().split()))
    A.sort()
    print(A[7])
test 값의 횟수 만큼 for 문을 돌려준다.
어떤 for문이냐면, A리스트에 값을 받고, 
리스트 A를 sort(정렬) 한 뒤
뒤에서 세번째, 즉 세벉째로 큰 값,즉 7번 값을 출력하는 함수로 끝을 낸다.

 

 

꽤나 간단한  문제였는데 세번째로 큰 값이 아닌 작은 값을 출력했었어가지고 시간을 꽤 먹었었다. 앞으론 조심하자.