728x90
2693
문제
배열 A가 주어졌을 때, N번째 큰 값을 출력하는 프로그램을 작성하시오.
배열 A의 크기는 항상 10이고, 자연수만 가지고 있다. N은 항상 3이다.
입력
첫째 줄에 테스트 케이스의 개수 T(1 <= T <= 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000보다 작거나 같은 자연수이다.
출력
각 테스트 케이스에 대해 한 줄에 하나씩 배열 A에서 3번째 큰 값을 출력한다.
코드
//2693 N번쨰 큰수
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int A[10];
int N = 3;
int num = 0;
cin >> num;
for (int i = 0; i < num; i++) {
for (int j = 0; j < 10; j++) {
cin >> A[j];
}
sort(A, A + 10);
cout << A[10 - N] << endl;
}
return 0;
}
결과
설명
#include <algorithm> 해더파일의 sort함수를 이용하여 이번 문제도 쉽게 구현가능하다.
처음 테스트 케이스의 개수만큼 10를 반복하여 받아온다. 10개의 수를 배열 A에 저장한 후 sort함수로 배열을 오름차순으로 정렬한 후 정렬된 배열에서 3번째로 큰 수를 출력한다.
728x90
'알고리즘 > 백준' 카테고리의 다른 글
알고리즘(C++) / 백준 2581 : 소수 (0) | 2021.02.20 |
---|---|
알고리즘(C++) / 백준 1978 : 소수 찾기 (0) | 2021.02.19 |
알고리즘(C++) / 백준 2609 : 최대공약수와 최소공배수 (0) | 2021.02.18 |
알고리즘(C++) / 백준 2309 : 일곱 난쟁이 (0) | 2021.02.18 |
알고리즘(C++) / 백준 10870 : 피보나치 수 5 (0) | 2021.02.18 |
댓글