반응형
문제
배열 A가 주어졌을 때, N번째 큰 값을 출력하는 프로그램을 작성하시오.
배열 A의 크기는 항상 10이고, 자연수만 가지고 있다. N은 항상 3이다.
입출력
첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000보다 작거나 같은 자연수이다.
각 테스트 케이스에 대해 한 줄에 하나씩 배열 A에서 3번째 큰 값을 출력한다.
풀이
이진수를 구하듯 큰 비트부터 1까지 내려가며 n을 i로 빼주면 된다.
#include <cstdio>
#include <algorithm>
using namespace std;
int a[11];
int main() {
int n;
scanf("%d", &n);
for(int i=0;i<n;i++){
for(int j=0;j<10;j++){
scanf(" %d", &a[j]);
}
sort(a, a+10);
printf("%d\n", a[7]);
}
}
반응형
'Baekjoon > Silver' 카테고리의 다른 글
[백준 C/C++] 11170번 - 0의 개수 (0) | 2022.01.27 |
---|---|
[백준 C/C++] 16212번 - 정열적인 정렬 (0) | 2022.01.26 |
[백준 C/C++] 1932번 - 정수 삼각형 (2) | 2022.01.21 |
[백준 C/C++] 16953번 - A → B (0) | 2022.01.11 |
[백준 C/C++] 1026번 - 보물 (0) | 2021.12.28 |