
https://www.acmicpc.net/problem/2693
2693번: N번째 큰 수
첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000
www.acmicpc.net
✅문제
배열 A가 주어졌을 때, N번째 큰 값을 출력하는 프로그램을 작성하시오.
배열 A의 크기는 항상 10이고, 자연수만 가지고 있다. N은 항상 3이다.
✅입력
첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000보다 작거나 같은 자연수이다.
✅출력
각 테스트 케이스에 대해 한 줄에 하나씩 배열 A에서 3번째 큰 값을 출력한다.
💬입력 예시
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
💬출력 예시
8
489
931
768
🍀제출 및 설명
let fs = require('fs');
let input = fs.readFileSync('./dev/stdin').toString().split('\n');
let count = Number(input[0])
let arr = [];
for(let i=0;i<count;i++){
arr[i]=input[i+1].split(' ').sort((a,b)=>b-a)
console.log(Number(arr[i][2]))
}
input에 \n을 기준으로 split하여 배열 타입으로 값을 넣었다
for문으로 테스트 케이스 만큼 반복을 진행하고,
arr[i]에 input[i] 문자열을 ' '기준으로 자른 후, sort를 내림차순으로 정렬합니다.
이후 3번째로 큰값이니 index가 2인 값을 출력합니다.
🐾알고리즘
- 정렬
'프론트엔드 > 코딩노트' 카테고리의 다른 글
| [백준]2609/최대공약수와 최소공배수/JavaScript (0) | 2022.11.02 |
|---|---|
| [백준]1292/쉽게 푸는 문제/JavaScript (0) | 2022.11.02 |
| [코플릿 - 재귀]num개의 요소만 포함된 배열 (0) | 2022.10.20 |
| [코플릿] 배열을 입력 받아 3개의 요소를 곱해 나올 수 있는 최대값 (0) | 2022.10.20 |
| [코플릿] 다차원 배열 평평하게 (0) | 2022.10.20 |