🌭 문제 설명
- 수
N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오.
🍗 제한 사항
🎁 입출력 예시


- 첫째 줄에
N(1 ≤ N ≤ 5,000,000)과 K (1 ≤ K ≤N)이 주어진다.
- 둘째에는
A1, A2, ..., AN이 주어진다. (-109 ≤ Ai ≤ 109)
- A를 정렬했을 때, 앞에서부터
K번째 있는 수를 출력한다.
😎 나의 풀이
let fs = require('fs');
let input = fs.readFileSync('input.txt').toString().split('\n');
let [n, k] = input[0].split(' ').map(Number);
let arr = input[1].split(' ').map(Number);
arr.sort((a, b) => a - b);
console.log(arr[k - 1]);
- 첫째 줄의
n과k를 숫자로 바꿔준다.
- 둘째 줄의
arr을 똑같이 만들어주고 arr을 sort로 오름차순 정렬시켜준다.
- 출력할 때
arr의 k값을 넣어서 -1을 해준 인덱스 값을 출력해준다.
🧵 다른 풀이
let fs = require('fs')
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let [n, k] = input[0].split(' ').map(Number)
let arr = input[1].split(' ').map(Number)
arr.sort(function(a,b){
return a-b
})
console.log(arr[k-1])
- 첫번째, 두 번째 풀이는 내 풀이와 같다.
sort를 함수를 선언해서 a-b로 명시적으로 풀었다.
- 내 풀이와 같이
k - 1한 arr의 값을 출력한다.