알고리즘/백준

[백준] 1330 - 두 수 비교하기

leegeonwoo 2023. 10. 15. 00:00

• 문제

 

이제 입출력과 사칙연산단계를 마무리하고 조건문 단계로 넘어왔다.

조건문과 반복문이야말로 알고리즘의 기초라고할 수 있으므로 천천히 꼼꼼하게 확실히 알고 넘어가자.

A,B의 값을 입력받아 값의 비교를 부등호 표시로 출력하는 프로그램 문제이다.

 


• 풀이

 

문제에서 A를 기준으로 부등호 표시할 것을 요구하기때문에

A > B 이면 >,

A < B 이면 <,

A = B 이면 ==

위 식을 if문으로 조건식을 만들어주기만하면 된다.

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		int B = sc.nextInt();
		if(A == B) {
			System.out.println("=="); // 1
		}else if(A < B) {
			System.out.println("<"); // 2
		}else {
			System.out.println(">"); // 3
		}
		}
}

A = B가 만족하면 1번코드블록을 실행하게되고, A = B가 거짓이라면

else if(A < B)의 조건식을 확인하고 A < B이면 2번 블록을 실행하게된다.

마지막으로 else if문의 식도 만족하지 않는다면 else문인 3번 블록을 실행한다.

 


위의 코드와 아래의 코드는 다른게 없다.

단지 가독성을 조금이라도 올린 것이 아래코드라고 볼 수 있는데 아래코드에서는 조건문뒤에 { } 가 생략되어있다는 것을 확인할 수 있다.

만약 조건문뒤에 오는 코드가 1줄이라면 { }를 생략할 수 있다.

하지만 되도록이면 { }를 생략하지 않는 것을 추천한다.

깔끔하고 보기 좋아 보일수는 있지만 나중에 많은 코드의 양을 작성하다보면 for문이나 if문의 경계를 찾아보기 어렵기때문이다.

 

그럼에도 두 개의 코드를 보여준이유는 코드를 작성하는 방법은 사람마다 다르다는 것을 알려주기 위해서이다.

때문에 여러 교재나 블로그, 강좌를 통해 학습하더라도 본인이 작성한 코드와 다르다고해서 실망하지 않았으면 좋겠다.

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		int B = sc.nextInt();
		
		if(A == B) System.out.println("==");
		else if(A < B) System.out.println("<");
		else if(A > B) System.out.println(">");
		}
}

마무리

  1. 조건문을 배워볼 수 있었다.
728x90