728x90
문제
세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)
출력
두 번째로 큰 정수를 출력한다.
1. 첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어지기 때문에 정수형 변수 a, b c를 생성한다.
2. 공백으로 구분되기 때문에 BufferedReader를 사용하여 입력받고
3. StringTokenizer로 각 변수에 입력받은 문자열 형태의 입력값을 공백을 기준으로 대입한다.
4. 이때 입력받은 문자열의 형태를 Integer.parseInt()를 사용하여 정수형을 변환시켜준다.
5. 조건문을 사용하여
6. a가 b보다 크거나 같을 경우 a가 c보다는 작거나 같아야 한다.
또는 a가 c보다 크거나 같을 경우에는 a가 b보다 작거나 같아야 한다는 조건을 제작한다.
7.else if를 사용하여 변수명만 교체하여 같은 조건을 명시하고
8. 조건을 만족하는 경우 해당 변수의 값을 출력한다.
* BufferedReader를 사용하지 않을 경우에는 Scanner의 next() 메서드를 사용하여 코드를 작성하여도
조건을 만족시킬 수 있을 것 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Number_10817 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
StringTokenizer st = new StringTokenizer(input);
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
if((a >= b || a >= c) && (a <= b || a <= c)){
System.out.println(a);
}else if ((b >= a || b >= c) && (b <= a || b <= c)){
System.out.println(b);
}else{
System.out.println(c);
}
}
}
|
cs |
반응형
'Basic > 코딩테스트' 카테고리의 다른 글
[자바 / Java] 백준 알고리즘 기본 설정 (컴파일 에러) (0) | 2022.05.13 |
---|---|
Comparable과 Comparator (0) | 2022.05.13 |
[브론즈3] 백준 2440번 자바(JAVA) - 별 찍기 - 3 (0) | 2022.05.10 |
[브론즈2] 백준 1152번 자바(JAVA) - 단어의 개수 (0) | 2022.04.26 |
[브론즈2] 백준 2577번 자바(JAVA) - 숫자의 개수 (0) | 2022.04.20 |