[백준 BOJ] 2693번 N번째 큰 수 (C++/cpp)
2022. 8. 21. 00:47ㆍPS (Program Solving)/BOJ (백준)
문제 설명
https://www.acmicpc.net/problem/2693
접근 방법 - 정렬의 기본 문제
백준의 2693번 문제는 정렬에 있어 기본적인 문제이다.
해당 문제는, 각 테스트 케이스의 입력값들에 대하여 3번째로 큰 숫자를 출력해야 하는 문제이다.
정렬 함수만 잘 사용할 수 있다면 이 문제도 쉽게 해결할 수 있을 것으로 예상된다.
혹여나 해당 문제를 해결하는 데에 어려움을 겪고 있다면, 아래의 설명과 코드를 한번 참고해보길 바란다.
필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.
코드의 실행 순서
1) 테스트 케이스의 수(n)를 입력받는다.
2) n의 크기만큼 반복문을 수행하여 아래의 연산을 취한다.
- 각 테스트 케이스에 대한 입력값들을 저장할 배열(arr)을 선언해둔다.
- arr의 값들을 하나씩 입력받는다.
- sort() 함수를 통해, arr의 배열값들에 대하여 오름차순 정렬을 수행한다.
- 정렬이 완료된 상태라면, 3번째로 큰 숫자는 곧 배열의 7번에 있는 값을 가리킨다.
따라서, arr[7]의 값을 출력한 뒤 다음 테스트 케이스를 수행하도록 한다.
3) 모든 테스트 케이스에 대한 연산이 수행되었다면, 실행 종료한다.
반응형
성공한 코드
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#include <algorithm>
#define endl '\n'
using namespace std;
//백준 2693번 코드
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int arr[10];
for (int j = 0; j < 10; j++) {
cin >> arr[j];
}
sort(arr, arr + 10);
cout << arr[7] << endl;
}
}
제출 결과
(2022.06.10 백준 2693번 문제 제출 결과)
반응형
'PS (Program Solving) > BOJ (백준)' 카테고리의 다른 글
[백준 BOJ] 5635번 생일 (C++/cpp) (0) | 2022.08.29 |
---|---|
[백준 BOJ] 3058번 짝수를 찾아라 (C++/cpp) (0) | 2022.08.28 |
[백준 BOJ] 11948번 과목선택 (C++/cpp) (0) | 2022.08.21 |
[백준 BOJ] 14582번 오늘도 졌다 (C++/cpp) (0) | 2022.08.19 |
[백준 BOJ] 5339번 콜센터 (C++/cpp) (0) | 2022.08.19 |