728x90

 

문제 : 2753번: 윤년 (acmicpc.net)

 

2753번: 윤년

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

www.acmicpc.net

 

 

// brain Storming
// 조건
// 윤년 == 4의배수인 연도 중 100의 배수가 아닌 연도 or 400의 배수인 연도
// 4의 배수이면서 100의 배수가 아님 : (year%4 == 0) and !(year%100 == 0)

풀이

4배수인지를 구하는 방법은 num%4를 해서 나머지가 0이 나오면 해당 배수이고 다른 수가 나오면 4의 배수가 아니다

그렇기에 year%4 == 0이면 이라는 조건과 동시에 100의 배수가 아니어야 하기에 &&(and)조건으로 100의 배수가 아닌 조건 !(year%100 == 0)을 주어서 윤년을 구했고

마찬가지로 400의 배수도 year%400 == 0으로 구했다

이외의 나머지 else는 전부 평년

 

 

정답

import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;

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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int year = Integer.parseInt(br.readLine());

        if(((year%4 == 0) && !(year%100 == 0))){
            System.out.println("1");
        }else if(year%400 == 0){
            System.out.println("1");
        }else{
            System.out.println("0");
        }
    }
}

 

 

728x90
반응형
728x90

문제

 

 

 

<풀이과정>

※ x의 n배수 구하기

x % n == 0
x라는 수가 n이라는 숫자와 나누기해서 나머직 0이면 그 수의 배수

/ : 나누기

// : 몫

% : 나머지

 

 

 

 

728x90
반응형

+ Recent posts