Baekjoon 단계별 문제풀이 - if문의 5문제 풀어봄.

1. [1330] 두 수 비교하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int A = scanner.nextInt();
		int B = scanner.nextInt();
		if(A<=10000 && A>=-10000 && B<=10000 && B>=-10000) {
			if(A>B) {
				System.out.println(">");
			}else if(A==B) {
				System.out.println("==");
			}else if(A<B) {
				System.out.println("<");
			}
		}else {
			System.out.println("ERROR");
		}
		scanner.close();
	}
}

2. [9498] 시험 성적 비교하기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int grade = scanner.nextInt();
		if (grade>=0 && grade<=100) {
			if(grade>=90) {
				System.out.println("A");
			}else if(grade>=80) {
				System.out.println("B");
			}else if(grade>=70) {
				System.out.println("C");
			}else if(grade>=60) {
				System.out.println("D");
			}else {
				System.out.println("F");
			}
		}else {
			System.out.println("ERROR");
		}
		scanner.close();
	}
}

3. [2753] 윤년

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int year = scanner.nextInt();
		if(year>=1 && year<=4000) {
			if((year%4 == 0 && year%100 !=0)|(year%400 == 0)) {
				System.out.println(1);
			}else {
				System.out.println(0);
			}
		}else {
			System.out.println("ERROR");
		}
		scanner.close();
	}
}

* '배수', '약수' 등의 문제는 나머지 연산자 %을 이용하면 간단하게 코드 작성할 수 있다.

* and조건을 묶고, or 조건을 바깥에 쓰는 등 () 괄호를 이용하면 여러 연산자를 섞어서 한 줄로 조건을 만들 수 있다.

4. [14681] 사분면 고르기

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int x = scanner.nextInt();
		int y = scanner.nextInt();
		if(x>=-1000 && x<=1000 && x!=0 && y>=-1000 && y<=1000 && y!=0 ) {
			if(x>0 && y>0) {
				System.out.println(1);
			}else if(x<0 && y>0) {
				System.out.println(2);
			}else if(x<0 && y<0) {
				System.out.println(3);
			}else if(x>0 && y<0) {
				System.out.println(4);
			}
		}else {
			System.out.println("ERROR");
		}
		scanner.close();
	}
}

5. [2884] 알람 시계

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int H = scanner.nextInt();
		int M = scanner.nextInt();
		if (H>=0 && H<=23 && M>=0 && M<=59) {
			if(M<45 && H==0) {
					System.out.println(23+" "+(M+15));
			}else if(M<45 && H!=0) {
					System.out.println((H-1)+" "+(M+15));
			}else {
				System.out.println(H+" " + (M-45));
			}
		}else {
			System.out.println("ERROR");
		}
		scanner.close();
	}
}

대부분의 상황에서는 M-45를 하면 되는 간단한 상황이지만, 

1) H = 0일 때

2) M < 45일 때

3) H!=0 이고 M>=45일 때

위의 1)과 2)는 다른 처리를 해 줘야 하는 상황이다.

그래서 특수한 경우인 1), 2)를 앞의 if와 else if에 할당하고, 나머지 모든 경우인 3)은 else에 할당하였다.

 

'server-side > JAVA Algorithm' 카테고리의 다른 글

Step.9 : 9-1 ~ 9-6  (0) 2021.06.05
Chapter 3  (0) 2021.05.03

+ Recent posts