백준 N번째 큰 수(2693) java

연도리·2022년 12월 20일
0

algorithmStudy

목록 보기
5/11

문제

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

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

입력

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

출력

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

예제 입력 1

4
1 2 3 4 5 6 7 8 9 1000
338 304 619 95 343 496 489 116 98 127
931 240 986 894 826 640 965 833 136 138
940 955 364 188 133 254 501 122 768 408

예제 출력 1

8
489
931
768

try1

import java.io.*;
import java.util.*;
public class Main{
    public static void main(String args[]) throws IOException {

         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
         int T = Integer.parseInt(br.readLine());
         int[] arrThird = new int[T];

         for(int i = 0; i < T; i++){
            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
            int[] arr = new int[10];

            for(int j = 0; j < 10; j++){
                arr[j] = Integer.parseInt(st.nextToken());
            }
            Arrays.sort(arr);
            arrThird[i] = arr[7];
         }
         for(int i = 0; i < T; i++){
            System.out.println(arrThird[i]);
         }
    }
}

🔖 Notes

  • 문제의 힌트
    • 배열을 잘 만들어야 함
  • 다른 답을 찾아보다가 StringBuilder에 대해서 알게 됨
    StringBuilder sb = new StringBuilder();
    sb.append("bbb");
    sb.append(4);
    sb.insert(2, "ccc"); //offset 위치에 str을 추가
    sb.substring(3,7); //숫자 인덱스에 위치한 문자열 인덱싱
    sb.replace(3, 6, "ye");
profile
아장아장 초보 개발자

0개의 댓글