본문 바로가기
알고리즘/백준 문제 풀이

[BOJ/백준] 10817번 세 수 - [c/c++] 풀이

by 미니상미니 2023. 6. 5.
반응형

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

 

10817번: 세 수

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

www.acmicpc.net

 

 

 

 


  • 문제


해설

먼저 A, B, C가 각각 가장 클 때로 나눈다.

그 안에서 나머지 2개를 비교하여 두 번째로 큰 정수를 result 변수에 저장한다.


예: A가 가장 클 때 B, C를 비교하여 두 번째로 큰 정수를 찾는다.

설명과 함께 아래 코드를 보면 이해하기 편할 거다.

코드

c

#include <stdio.h>
 
int main() {
    int a, b, c;
    int result;
    
    scanf("%d %d %d", &a, &b, &c);
    
    if(a >= b && a >= c) {
        if(b > c) result = b;
        else result = c;
    }
    else if(b >= a && b>= c) {
        if(a > c) result = a;
        else result = c;
    }
    else {
        if(a > b) result = a;
        else result = b;
    }
    
    printf("%d", result);
    
    
    return 0;
}

 

c++

#include <iostream>

using namespace std;

int main() {
    int a, b, c;
    int result;
    
    cin >> a >> b >> c;
    
    if(a >= b && a >= c) {
        if(b > c) result = b;
        else result = c;
    }
    else if(b >= a && b>= c) {
        if(a > c) result = a;
        else result = c;
    }
    else {
        if(a > b) result = a;
        else result = b;
    }
    
    cout << result;
    
    
    return 0;
}

 

 

 

 

 

반응형

댓글