반응형
문제(출처)
세 정수 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(); } }}
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 변수에 넣고 조건문으로 세 수를 비교합니다.
비교 시 값이 같은지도 확인해야 합니다.
반응형
'개발(합니다) > 알고리즘&코테' 카테고리의 다른 글
알고리즘 단계별로 풀어보기 : BOJ-1546(평균) (0) | 2018.12.16 |
---|---|
알고리즘 단계별로 풀어보기 : BOJ-10871(x보다작은수) (0) | 2018.12.16 |
알고리즘 단계별로 풀어보기 : BOJ-9498(시험성적) (0) | 2018.12.15 |
알고리즘 단계별로 풀어보기 : BOJ-15552(빠른A+B) (0) | 2018.12.15 |
알고리즘 단계별로 풀어보기 : BOJ-111721(열 개씩 끊어 출력하기) (0) | 2018.12.14 |