[백준] 10817번 세 수 C++ 문제 풀이 if문

2019. 7. 2. 21:59알고리즘/백준

728x90
반응형

문제

세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오. 

입력

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

출력

두 번째로 큰 정수를 출력한다.

 


예제 입력 1

20 30 10


예제 출력 1

20


예제 입력 2

30 30 10


예제 출력 2

30


예제 입력 3

40 40 40


예제 출력 3

40


예제 입력 4

20 10 10


예제 출력 4

10


문제 풀이

#include <iostream>
using namespace std;
int main(){
    int a, b, c, mid;
    cin>>a>>b>>c;
    
    if(a > b){
        if(c > a)
        {
            cout<<a;
            return 0;
        }
        else if(c > b)
        {
            cout<<c;
            return 0;
        }
        else
        {
            cout<<b;
            return 0;
        }        
        if(b > c)
        {
            cout<<b;
            return 0;
        }
        else if(a > c)
        {
            cout<<c;
            return 0;
        }
        else{
            cout<<a;
            return 0;
        }
    }
    else{
        if(c > b)
        {
            cout<<b;
            return 0;
        }
        else if( c > a)
        {
            cout<<c;
            return 0;
        }
        else{
            cout<<a;
            return 0;
        }
        if(a>c)
        {
            cout<<a;
            return 0;
        }
        else if(b>c)
        {
            cout<<c;
            return 0;
        }
        else{
            cout<<b;
            return 0;
        }
    }
}
            

하드코딩의 정석입니다.

a > b > c

a > c > b

b > a > c

b > c > a

c > a > b

c > b > a

이렇게 6가지의 경우의 수가 있을 것입니다. if문을 사용하여 6가지 케이스를 모두 비교하였습니다.

 

 

 

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

 

10817번: 세 수

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

www.acmicpc.net

 

728x90
반응형