[백준] 11004 K번째 수

morecodeplease·2024년 9월 4일
0

백준

목록 보기
4/5
post-thumbnail

🌭 문제 설명

  • 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]);
  1. 첫째 줄의 nk를 숫자로 바꿔준다.
  2. 둘째 줄의 arr을 똑같이 만들어주고 arrsort로 오름차순 정렬시켜준다.
  3. 출력할 때 arrk값을 넣어서 -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])
  1. 첫번째, 두 번째 풀이는 내 풀이와 같다.
  2. sort를 함수를 선언해서 a-b로 명시적으로 풀었다.
  3. 내 풀이와 같이 k - 1arr의 값을 출력한다.

  • k번째 수는 이제 마스터한듯
profile
Everyday's a lesson

0개의 댓글