[백준 BOJ] 2753번 윤년 (C언어)

2022. 1. 28. 21:49PS (Program Solving)/BOJ (백준)

문제 설명

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

 

2753번: 윤년

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

www.acmicpc.net

백준 BOJ 2753번 윤년 문제 사진

 

접근 방법 - 수학적 사고력을 요구하는 문제

백준 2753번 문제는 수학적 사고력을 이용하여 해결해야 하는 문제이다.

해당 문제는 입력받은 년도가 윤년인지 아닌지의 여부를 밝히면 되는 문제이다.

여기서 윤년이란, 문제에 있다시피 4의 배수이면서 100의 배수가 아닌 경우, 400의 배수인 경우로 나뉜다.

이러한 윤년의 조건을 if문에 작성하여 윤년의 여부를 판별하면 쉽게 해결할 수 있는 문제이다.

필자는 아래의 코드대로 작성하여 문제를 해결하였다.

result라는 변수를 0으로 초기화하여 따로 선언하였고, 입력받은 년도가 윤년일 시 이 값을 1로 바꾸어서 출력하게끔 하였다.

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <stdio.h>

//백준 2753번 코드
int main() {
	int n;
	scanf("%d", &n);

	int result = 0;
	if ((n % 4 == 0 && n % 100 != 0) || n % 400 == 0) {
		result = 1;
	}

	printf("%d\n", result);
}

 

제출 결과

백준 BOJ 2753번 윤년 문제 C 제출 결과

(2021.12.05 백준 2753번 문제 제출 결과)

반응형