곽로그
[백준 10817] 세 수 본문
반응형
접근법 1
이 문제를 쉽게 접근 할 수 있는 방법 중 하나는 정렬을 이용하는 것이다. 입력받은 숫자를 배열에 저장하여 정렬한 다음 인덱스 1에 있는 숫자를 출력하면 된다. 이 방법은 쉽게 할 수 있으므로 패스
접근법 2
정렬을 모른다고 가정할 때, 접근할 수 있는 방법은 모든 경우의 수를 따지는 것이다. 즉 A,B,C가 가질 수 있는 관계의 모든 경우의 수를 구하면 된다. 3가지 수 밖에 안되기 때문에 세어볼 만 하다.
1,2,3으로 예를 들어 보자. ABC의 관계로는 1) 모두 다른 수 2) 두개가 같은 수 3) 3개가 같은 수가 있을 수 있다. 따라서 A,B,C,가 가질 수 있는 관계를 나열하면 다음과 같다.
순서대로 A,B,C
1 2 3 (A<B<C)
1 3 2 (A<C<B)
2 1 3 (B<A<C)
2 3 1 (C<A<B)
3 1 2 (B<C<A)
3 2 1 (C<B<A)
1 1 2 (A=B<C)
1 2 1 (A=C<B)
2 1 1 (B=C<A)
1 1 1 (A=B=C)
이렇게 10가지이다. 이걸 if문으로 구현하기 위해서 아래와 같은 수형도를 생각할 수있다.
이걸 if문으로 구현하면 아래와 같다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오.
Scanner in=new Scanner(System.in);
int A=in.nextInt();
int B=in.nextInt();
int C=in.nextInt();
if(A>=B) {
if(B>=C) {
System.out.println(B);
}
else if(C>=A) {
System.out.println(A);
}
else {
System.out.println(C);
}
}
else if (A>C){
System.out.println(A);
}
else if(B>C) {
System.out.println(C);
}
else
System.out.println(B);
}
}
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 1546] 평균 (0) | 2019.04.17 |
---|---|
[백준 10871] X보다 작은 수 (0) | 2019.04.17 |
[백준 11721] 열 개씩 끊어 출력하기 (0) | 2019.04.16 |
[백준 11720] 숫자의 합 (0) | 2019.04.15 |
[백준 8393] 합 (0) | 2019.04.15 |
Comments