C#

[C#]윤년 판별하기 isLeapYear 메서드

DevStory 2021. 8. 10.

주로 알고리즘 문제에서 나오는 윤년 판별하는 방법을 C#에서는 간단하게 처리할 수 있습니다.

 

이번 포스팅에서는 C#에서 지원하는 isLeapYear 메서드를 소개합니다.

 


isLeapYear 메서드

isLeapYear 메서드에 년도를 전달하여 윤년을 판별합니다.

public static bool IsLeapYear (int year);

지정된 년도가 윤년이면 true를 반환합니다.

 

지정된 년도가 윤년이 아니면 false를 반환합니다.

 

만약, 1~9999 사이의 값이 아닐 경우 값의 허용 범위를 벗어나므로 ArgumentOutOfRangeException 예외가 발생합니다.


윤년을 판별하는 문제

백준 2753번 문제는 입력한 값이 윤년인지 아닌지 판별하는 문제입니다.

☞ 백준 2753 문제 풀러 가기

isLeapYear 메서드를 사용하면 아주 간단하게 풀이가 가능합니다.

using System;
public class Program {
 
    public static void Main()
    {
            int year = int.Parse(Console.ReadLine());
            if (year < 1 || year > 4000) return;
 
            if (DateTime.IsLeapYear (year)) Console.WriteLine("1");
            else Console.WriteLine("0");
    }
}

isLeapYear 메서드를 사용하지 않고 풀이가 가능하지만, 4의 배수, 100의 배수, 400의 배수를 체크하는 조건문을 작성해야 하므로 코드가 길어진다는 단점이 존재합니다.

 

백준 채점 결과

반응형

댓글