본문 바로가기

Algorithm/Baekjoon

[백준_JAVA_알고리즘] 25305 커트라인

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
    	Scanner scanner = new Scanner(System.in);
    	int N = scanner.nextInt();
    	int k = scanner.nextInt();
    	int tmp = 0;
    	int[] arr = new int[N];
    	
    	for(int i = 0; i < N; i++)
    		arr[i] = scanner.nextInt();
    	
    	for(int i = 0; i < N; i++) {
    		for(int j = 0; j < N-1-i; j++) {
    			if(arr[j] < arr[j+1]) {
    				tmp = arr[j+1];
    				arr[j+1] = arr[j];
    				arr[j] = tmp;
    			}
    		}
    	}
		System.out.println(arr[k-1]);
    	scanner.close();
    }
}

 

버블정렬을 이용한 정렬이다.

두번째 for문의 j값 범위를 보면 j < N-1-i임을 알 수 있다. 이는 중복된 탐색을 피하기 위한 범위이다,.

비슷한 코드로 j < N-1도 가능하지만 중복된 탐색이 발생한다.