본문 바로가기

개발(합니다)/알고리즘&코테

알고리즘 단계별로 풀어보기 : BOJ-10817(세 수)

반응형

문제(출처)

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


입력

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


출력

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


예제 입력1

20 30 10


예제 출력1

20


예제 입력2

30 30 10


예제 출력2

30


내 풀이

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {
    public static void main(String args[]) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        try {
            String[] str = br.readLine().split(" ");
            int num1 = Integer.parseInt(str[0]);
            int num2 = Integer.parseInt(str[1]);
            int num3 = Integer.parseInt(str[2]);
            
            if(((num1 <= num2) && (num1 >= num3)) || ((num1 >= num2) && (num1 <= num3))) {
                bw.write(String.valueOf(num1));
            }else if(((num2 <= num1) && (num2 >= num3)) || ((num2 >= num1) && (num2 <= num3))) {
                bw.write(String.valueOf(num2));
            }else if(((num3 <= num1) && (num3 >= num2)) || ((num3 >= num1) && (num3 <= num2))) {
                bw.write(String.valueOf(num3));
            }else {
                bw.write("error");
            }
            bw.flush();
            bw.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


내 풀이 해석

첫번째 줄에서 입력 받은 세 수를 배열에 넣습니다.
배열에서 하나씩 꺼내 int 변수에 넣고 조건문으로 세 수를 비교합니다.
비교 시 값이 같은지도 확인해야 합니다.


반응형