[★2][백준1330번]두 수 비교하기 (JAVA)

Date:     Updated:

카테고리:

태그:

[★2][백준1330번]두 수 비교하기 (JAVA)

1330번 문제 ☞ https://www.acmicpc.net/problem/1330

난이도 ☞ [★2]

  • 문제
    • 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.
    • 첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다.
    • 첫째 줄에 다음 세 가지 중 하나를 출력한다.
      • A가 B보다 큰 경우에는 ‘>’를 출력한다.
      • A가 B보다 작은 경우에는 ‘<’를 출력한다.
      • A와 B가 같은 경우에는 ‘==’를 출력한다.
      예제입력 예제출력
      1 2 <
      10 2 >
      5 5 ==

내가 푼 풀이

이번 문제는 입력과 출력을 받아 조건을 부여하여 조건에 따라 출력되게 하는 방법인데, 이는 if-else 혹은 if-else if-else를 사용하여 구현하는 것이다. 입력받는 방식은 여러가지가 있지만 제일 쉬운 방식으로 구현하였다.

[ 풀이 1 ]

메모리 : 17692KB
시간 : 212ms

Scanner로 입력 받고, if-else if-else로 조건별 출력

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);

		int a = s.nextInt();
		int b = s.nextInt();
		
		s.close();

		if (a > b) {
			System.out.println(">");
		} else if (a < b) {
			System.out.println("<");
		} else {
			System.out.println("==");
		}

	}

}

위의 방식처럼 할 수도 있지만, 삼항 연산자를 사용하여 조건문을 획기적이게 줄여 작성할 수 있다. 코드는 아래에 있습니다.

[ 풀이 2 ]

메모리 : 17640KB
시간 : 212ms

삼항연산자

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);

		int a = s.nextInt();
		int b = s.nextInt();

		s.close();

		System.out.println((a > b) ? ">" : ((a < b) ? "<" : "=="));
	}

}

삼항연산자를 이용하여 바로 출력하는 방법이 있고, 저렇게 보는 코드가 보기 좋지 않다면 또 다른 방법이 하나 있는데 그 코드는 바로 아래의 풀이 3번에 작성하겠습니다.

[ 풀이 3 ]

메모리 : 17708KB
시간 : 208ms

삼항연산자

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);

		int a = s.nextInt();
		int b = s.nextInt();

		s.close();

		String result = (a > b) ? ">" : ((a < b) ? "<" : "==");
		System.out.println(result);
	}

}

이처럼 result에 결과값을 저장하여 출력하는 방법이 있다.

BKJN 카테고리 내 다른 글 보러가기

댓글 남기기