문제
두 정수가 주어질 때, 첫 번째 수가 두 번째 수보다 크면 "Yes", 아니면 "No"를 출력한다. 0 0이 입력되면 종료한다.
입력
각 줄에 두 정수가 주어진다. 마지막 줄은 0 0이다.
출력
각 줄마다 "Yes" 또는 "No"를 출력한다.
예제
| 입력 | 출력 |
|---|---|
5 3 3 5 0 0 | Yes No |
풀이
0 0이 입력될 때까지 두 수를 비교하여 결과를 출력한다.
- 무한 루프에서 두 수를 읽는다
- 둘 다 0이면 종료한다
- 첫 번째 수가 크면 "Yes", 아니면 "No"를 StringBuilder에 추가한다
핵심 아이디어: 삼항 연산자로 비교 결과를 간결하게 처리한다.
코드
package day649;
import java.io.*;
import java.util.*;
public class Day643BOJ4101크냐 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
while (true) {
StringTokenizer st = new StringTokenizer(br.readLine());
int num1 = Integer.parseInt(st.nextToken());
int num2 = Integer.parseInt(st.nextToken());
if (num1 == 0 && num2 == 0)
break;
sb.append(num1 > num2 ? "Yes" : "No").append("\n");
}
System.out.println(sb);
}
}복잡도
- 시간: O(N)
- 공간: O(N)