백준 | 11004 : K번째 수 (Java)

usuyn·2021년 9월 14일
0

알고리즘

목록 보기
8/12

문제에 대한 자세한 정보는 백준 | 11004번 : K번째 수에서 확인할 수 있다.


풀이

  1. ArrayList를 생성한다.
  2. ArrayList에 입력받은 수를 저장한다.
  3. Collections.sort()를 사용해 오름차순으로 정렬한다.
  4. K번째 있는 수를 출력한다.

소스코드

import java.io.*;
import java.util.*;

public class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		StringTokenizer st = new StringTokenizer(br.readLine());
		int N = Integer.parseInt(st.nextToken());
		int target = Integer.parseInt(st.nextToken());
		ArrayList<Integer> list = new ArrayList<>();
		st = new StringTokenizer(br.readLine());

		for (int i = 0; i < N; i++) {
			list.add(Integer.parseInt(st.nextToken()));
		}

		Collections.sort(list);

		bw.write(String.valueOf(list.get(target - 1)));

		br.close();
		bw.close();
	}
}

메모리, 시간

메모리 : 668700KB
시간 : 3528ms


풀이 후

보통 quicksort를 사용해 푸는 것 같다. 일단 Collections.sort()를 사용했는데 quicksort는 따로 포스팅해서 정리해야겠다.

profile
https://select-dev-from.tistory.com 로 이사 중

0개의 댓글