[백준 BOJ] 10817번 세 수 (C++/cpp)

2022. 6. 22. 01:50PS (Program Solving)/BOJ (백준)

문제 설명

https://www.acmicpc.net/problem/10817

 

10817번: 세 수

첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)

www.acmicpc.net

백준 BOJ 10817번 세 수 문제 사진

 

접근 방법 - 정렬 함수 사용의 기본 문제

백준의 10817번 문제는 정렬 함수를 이용하여 쉽게 해결할 수 있는 기본 문제이다.

해당 문제는, 입력받은 3개의 숫자들 중 두 번째로 큰 정수를 출력해야 하는 문제이다.

이는 즉, 오름차순으로 정렬하였을 때 중간에 위치한 숫자를 출력해야 한다는 설명과 동일하다고 볼 수 있다.

필자의 경우엔 정렬 함수 sort()를 사용하여 아주 쉽게 해결하였다.

간단한 정렬 문제는 웬만하면 sort() 함수로 해결이 가능하니 이 함수는 꼭 참고해보길 바란다.

필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.

 

코드의 실행 순서

1) 3개의 숫자(arr)를 입력받는다.

 

2) sort() 함수를 이용해 arr의 배열값들을 정렬한다.

sort(array, array+length);

 

3) 배열의 중간값을 출력한 뒤, 실행 종료한다.

반응형

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#include <algorithm>
#define endl '\n'
using namespace std;

//백준 10817번 코드
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);	cout.tie(NULL);

	int arr[3];
	for (int i = 0; i < 3; i++) {
		cin >> arr[i];
	}
	sort(arr, arr + 3);
	cout << arr[1] << endl;
}

 

제출 결과

백준 BOJ 10817번 세 수 문제 C++ 제출 결과

(2022.05.20 백준 10817번 문제 제출 결과)

반응형