블램의 일상 IT카페

백준 2753번 [윤년] - 간단풀이 본문

IT/알고리즘 문제 풀이

백준 2753번 [윤년] - 간단풀이

ble_ram 2022. 11. 18. 12:28

문제.


 

 

 

내가 틀린 이유.


: 왜긴 왜야 그냥 수학을 못해서

조건문의 활용이 익숙하지 않았다.

배수의 개념을 홀짝으로 바꿀생각을 못했다. <- 사실 몫과 나머지를 헷갈렸었다.(머리로 푸느라...ㅈㅅ;; ㅋㅋ)

 

느낀점: 머리로만 풀지말고 종이를 이용해 끄적이자, PS에선 이산수학과 정수론이 매우 중요한듯하다.

문제 그대로를 받아드리자 내가 뭘 생각해서 바꿀생각하지말고 인간 컴퓨터가 되어

문제 그대로를 입력받고 출력하자.(삐빅 난 컴퓨터다. ㅡ)

 

 

 

풀이.


1.

#include <stdio.h>
int main() {
  int Year=0;
  scanf("%d", &Year);
  if(Year%4==0&&Year%100!=0||Year%400==0){
    printf("1");
    }
  else{
    printf("0");
    }
  return 0;
}

*어떤수든 배수일경우엔 나머지는 0이된다.

4의배수이면서, 100의 배수가 아니거나 400의 배수일때 윤년(1)이 된다.

그외 else는 이외에 입력이 모든조건의 반대일 경우를 받고 0을 출력한다.

 

 

 

2. 백준 루비등급 juno님의 풀이 - 조건문 없이 풀기//

#include <stdio.h>
int main() {
	int N;
	scanf("%d",&N);
	printf("%d",N%400==0 || (N%100!=0 && N%4==0));
	return 0;
}

 

Comments