Uknow's Lab.
article thumbnail

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

 

2693번: N번째 큰 수

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

www.acmicpc.net

 

난이도 : 브론즈 1
태그 : 정렬

 

 

설명

각 배열들이 주어졌을때, 배열들의 n번째 큰 수를 출력하는 문제입니다.

크기가 항상 10이고 n은 항상 3인데... 문제 제목이 왜 n번째 큰 수인지 모르겠네요.

보통 n번째 큰수라 하면 입력으로 n을 받을텐데, 조금 독특한 문제인 것 같습니다.

 

 

소스코드

import java.util.StringTokenizer

fun main() = with(System.`in`.bufferedReader()) {
    val sb = StringBuilder()
    repeat(readLine().toInt()) {
        val arr = Array(10) { 0 }
        val st = StringTokenizer(readLine())
        repeat(10) {
            arr[it] = st.nextToken().toInt()
        }
        arr.sort()
        sb.append("${arr[7]}\n")
    }
    print(sb)
}

 

배열을 입력받아 arr.sort()를 통해 정렬하고, 7번째 원소를 출력합니다.

10개 원소중 오름차순으로 정렬했으니, 3번째로 큰 수는 오름차순으로 정렬했을 때, 10 - 3 = 7번째 위치에 있습니다.

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.