Q) BAEKJOON / JAVA / 2753 : 윤년
https://www.acmicpc.net/problem/2753
※ if 조건문
- 가장 기본적인 조건문 이며, 조건에 따라 코드의 실행 흐름을 다르게 동작하도록 제어하는 문장입니다.
if(조건문 1) {
실행문 1; //조건문 1이 true일 때 실행
}else if(조건문 2) {
실행문 2; //조건문 2가 true일 때 실행
}else {
실행문 3; //조건문 1과 2가 false일 때 실행
}
※ 삼항연산자
- 조건식의 true / false에 따라 반환 값을 달리하며, 중첩사용 또한 가능합니다.
조건식 ? true 반환 값 : false 반환 값
A)
- [1] Scanner
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
//스캐너 선언
Scanner sc = new Scanner(System.in);
//nextInt()로 정수형 변수에 저장
int year = sc.nextInt();
//if 조건문 활용
//윤년 이면 1, 아니면 0
//1) 4의 배수 인지 여부
//2) 4의 배수라면 100의 배수 인지 여부
//3) 100의 배수라면 400의 배수인지 여부
if(year % 4 == 0) {
if(year % 100 == 0) {
if(year % 400 == 0) {
System.out.println("1");
}else {
System.out.println("0");
}
}else {
System.out.println("1");
}
}else {
System.out.println("0");
}
//스캐너 종료
sc.close();
}
}
- [2] BufferedReader
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String args[]) throws NumberFormatException, IOException {
//bufferedReader 선언
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//readLine()으로 행 읽어오기
//parstInt로 정수형으로 변환 후 저장
int year = Integer.parseInt(br.readLine());
//윤년은 1, 아니면 0
//삼항연산자 사용
//1) 4의 배수 여부
//2) 100의 배수 여부
//3) 400의 배수 여부
String yoonyear = (year % 4 == 0) ? (year % 100 == 0) ? (year % 400 == 0) ? "1" : "0" : "1" : "0";
//출력
System.out.println(yoonyear);
}
}