Notice
Recent Posts
Recent Comments
Link
celina의 이것저것
[C++] 백준 10817번 - 세 수 본문
반응형
문제
세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)
출력
두 번째로 큰 정수를 출력한다.
접근
숫자를 크기 순으로 정렬해야하니까 버블정렬을 사용했다
코드
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int>num(3);
int n;
for (int i = 0; i < num.size(); i++) {
scanf("%d", &num[i]);
}
for (int i = 0; i < num.size()-1; i++) {
for (int j = 0; j < num.size() - 1 - i; j++) {
if (num[j] < num[j + 1]) {
n = num[j];
num[j] = num[j + 1];
num[j + 1] = n;
}
}
}
printf("%d", num[1]);
return 0;
}
학습
버블정렬 말고 더 쉽게 할 수 있는 방법이 있는지 궁금하다. 다른 정렬방법도 공부해봐야겠다
++
새롭게 우선순위 큐를 이용해서 구현했다
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <queue>
using namespace std;
priority_queue<int> pq;
int main() {
int n;
for (int i = 0; i < 3; i++) {
scanf("%d", &n);
pq.push(n);
}
pq.pop();
printf("%d ", pq.top());
return 0;
}
출처
10817번: 세 수
첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)
www.acmicpc.net
'자료구조&알고리즘 > 백준' 카테고리의 다른 글
[C++] 백준 10797번 - 10부제 (1) | 2022.12.27 |
---|---|
[C++] 백준 10039번 - 평균 점수 (2) | 2022.12.27 |
[C++] 백준 2884번 - 알람 시계 (4) | 2022.12.27 |
[C++] 백준 2753번 - 윤년 (0) | 2022.12.27 |
[C++] 백준 9498번 - 시험 성적 (1) | 2022.12.27 |