주로 알고리즘 문제에서 나오는 윤년 판별하는 방법을 C#에서는 간단하게 처리할 수 있습니다.
이번 포스팅에서는 C#에서 지원하는 isLeapYear
메서드를 소개합니다.
isLeapYear 메서드
isLeapYear
메서드에 년도를 전달하여 윤년을 판별합니다.
public static bool IsLeapYear (int year);
지정된 년도가 윤년이면 true를 반환합니다.
지정된 년도가 윤년이 아니면 false를 반환합니다.
만약, 1~9999 사이의 값이 아닐 경우 값의 허용 범위를 벗어나므로 ArgumentOutOfRangeException 예외가 발생합니다.
윤년을 판별하는 문제
백준 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의 배수를 체크하는 조건문을 작성해야 하므로 코드가 길어진다는 단점이 존재합니다.
백준 채점 결과
반응형
'C#' 카테고리의 다른 글
[C#]DataTable RowState 강제로 변경 (0) | 2021.08.22 |
---|---|
[C#]params 키워드로 매개변수 여러개 받아오기 (0) | 2021.08.18 |
[C#]날짜 계산, 날짜 비교 (0) | 2021.08.10 |
[C#]현재 날짜 및 시간 가져오기 (0) | 2021.08.09 |
[C#]DataRow 배열을 DataTable로 변환하는 방법 (0) | 2021.08.09 |
댓글