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 |