반응형
https://www.acmicpc.net/problem/2693
문제
배열 A가 주어졌을 때, N번째 큰 값을 출력하는 프로그램을 작성하시오.
배열 A의 크기는 항상 10이고, 자연수만 가지고 있다. N은 항상 3이다.
입력
첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000보다 작거나 같은 자연수이다.
출력
각 테스트 케이스에 대해 한 줄에 하나씩 배열 A에서 3번째 큰 값을 출력한다.
풀이
입력받은 배열을 내림차순으로 정렬해주고 3번째 값을 출력한다
파이썬으로 풀면 매매애ㅐㅐㅐㅐㅐㅐㅐ우 쉽게 풀 수 있는 문제였겠지만,,, 아직 배열을 받는게 어색해서 많은 시간 까지는 아니어두 조금 시간이 걸린 문제... 빨리 C++에 익숙해지면 좋겠다
코드
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int T;
cin >> T;
//num을 입력받아서 배열에 넣기
for (int tc = 0; tc < T; tc++)
{
vector<int>arr;
for (int i = 0; i < 10; i++)
{
int num;
cin >> num;
arr.push_back(num);
}
//내림차순 정렬
//임시로 숫자를 넣을 변수
int temp;
for (int i = 0; i < 10; i++)
{
for (int j = i + 1; j < 10; j++)
{
if (arr[i] < arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
//count는 0부터 시작하기 때문에 3번로 큰 수의 인덱스는 2
cout << arr[2] << '\n';
}
}
반응형
'study > 백준' 카테고리의 다른 글
[백준] 2506. 점수계산 : C++ (0) | 2022.02.10 |
---|---|
[백준] 2501. 약수 구하기 : C++ (0) | 2022.02.09 |
[백준] 1026. 보물 : C++ (0) | 2022.02.05 |
[백준] 4101. 크냐? : C++ (0) | 2022.02.04 |
[백준] 10569. 다면체 : C++ (0) | 2022.02.02 |