문제 풀이

[백준] 2753번: 윤년 - JAVA (자바)

auyeol 2023. 1. 16. 09:44
728x90

 

문제

 

https://www.acmicpc.net/problem/2753

 

2753번: 윤년

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서

www.acmicpc.net

년도를 입력받아 윤년인지 아닌지 if문을 통해 판별하는 문제이다. 윤년일 경우 1, 아닐 경우 0을 출력한다.

 

윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수인 년도를 말한다.

 

 

풀이

 

(1) if-else 문, 논리 연산자 사용

 

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int year = sc.nextInt();
		
		if(year%4==0 && (year%100!=0 || year%400==0)) System.out.println(1);
		else System.out.println(0);
	
	}
}

 

year%4 == 0        > 4의 배수이면서

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

year%100 != 0     > 100의 배수가 아니거나 

 

year%400 == 0    > 400의 배수인 경우

 

 

 

 

(2) 삼항 연산자, 논리 연산자 사용

 

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int year = sc.nextInt();
		
		System.out.println((year%4==0 && (year%100!=0 || year%400==0))?1:0);
		
	
	}
}
728x90