본문 바로가기
알고리즘/백준(JAVA)

[JAVA-2753] 윤년

by 썬키 2021. 12. 7.

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

 

2753번: 윤년

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

www.acmicpc.net

 

문제 보자마자 눈물 한바가지 흘리고 시작함;; 너무 어려운데요ㅠ

 

 

풀기전에 앞서 문제를 몇 번씩 읽어보면서 내 나름대로의 해석을 해보았다.

그러니까 내 해석에 따르자면,

 

윤년: 연도가 4의 배수이면서 100의 배수가 아닐때(두가지 조건 다 만족해야됨) / 400의 배수일때

* 숫자 x로 나눴을때 나머지가 0인 것을 x의 배수라고 한다.

 

ex)2012는 4로 나눴을 때 나머지가 0이지만 100으로 나누면 나머지가 존재한다. → 2012년은 윤년

ex2)2000은 400으로 나눴을 때 나머지가 0이다. → 2000년은 윤년

 

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {

		Scanner scanner = new Scanner(System.in);
		int y = scanner.nextInt();
		scanner.close();
		
		if(y%4==0 && (y%100!=0 || y%400==0))
        //윤년의 조건을 입력한다.
		System.out.println("1");
		else System.out.println("0");
	}
}

 

10번의 시도ㅎ....

 

 

학원에선 보통 간단한 조건들을 주고 조건문을 작성해보라고 하는데이런 구체적이면서 복잡한(?) 조건들로 조건문을 만들려고 하다보니 시작도 전에 겁을 먹었었다.이런 경험들이 다 내 코딩 실력에 도움이 될거라고 생각하고 앞으로도 열심히 문제를 풀어보려고 한다.

 

'알고리즘 > 백준(JAVA)' 카테고리의 다른 글

[JAVA-1929] 소수 구하기 - 에라토스테네스의 체  (0) 2023.08.30
[JAVA-3052] 나머지  (0) 2023.01.15
[JAVA-9498] 시험 성적  (0) 2021.12.07
[JAVA-1330] 두 수 비교하기  (0) 2021.12.07
[JAVA-10430] 나머지  (0) 2021.12.07

댓글