개발/Algorithm

[Java] 백준 2753번 삼항연산자 이용법

Dane.Kim 2021. 8. 31.

처음엔 그냥 if문으로 풀었었다.

package prac;

import java.util.Scanner;

public class bj2753 {
	public static void main (String[] args) {
		Scanner sc = new Scanner(System.in);
		int i = sc.nextInt();
		sc.close();
		
		if(i%4==0) {
			if(i%400==0) System.out.println("1");
			else if(i%100==0) System.out.println("0");
			else System.out.println("1");
		}
		else System.out.println("0");
		
	}
}

그러나 삼항연산자를 이용하면 훨씬 간단하게 가능하다.

import java.util.Scanner;
 
public class bj2753 {
 
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int y = sc.nextInt();
		sc.close();
        
		System.out.print((y%4==0)?((y%400==0)?"1":(y%100==0)?"0":"1"):"0");
	}
}

이처럼 삼항연산자로 조건을 넣는 법을 공부해야한다.

 

 

(문제) 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.

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

예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.

'개발 > Algorithm' 카테고리의 다른 글

[Python] 랜덤 리스트 비교  (0) 2021.10.16
[Java] 백준 2292번 벌집  (0) 2021.09.27
[Python] 백준 2292번 벌집  (0) 2021.09.27
[Java] 백준 9498번 삼항연산자로 해결  (0) 2021.08.31
[Java] 설탕배달 (백준 2839번)  (0) 2021.08.30

댓글