[문제 설명]
[필요한 정보]
윤년이라는 개념이 이 문제에서 큰 역할을 하지 않는다. 하지만 해당 문제를 조금 더 확장한다면 월과 일만을 입력하는 것이 아닌 연도까지 입력할 수 있다.
그래서 짧게 나마 윤년은 무엇이고 어떻게 코딩으로 구할 수 있을까를 알아보자.
윤년 : 1년이 366일인 연도
윤년에 대한 정의를 알아보면 천문학적인 내용과 함께 정의가 되어있지만 쉽게 말하면 1년이 366일인 날이다.
윤년은 어떻게 구할까?
4로 나누어질 수 있지만 100으로는 나누어 지면 안된다.
100으로 나누어지면 안되지만 400으로는 나누어 질 수 있다.
코드로 윤년인지 판별하는 방법은 무엇일까?
publlic static void main(String args[]){
Scanner sc = new Scanner(System.in);
int year = 0;
System.out.println("연도 입력");
year = sc.nextInt();
if(year % 4 == 0 && year % 100 != 0{
System.out.print("윤년이야");
}
else if(year % 100 != 0 || year % 400 == 0){
System.out.print("윤년이야");
}else{
System.out.print("윤년이 아니야");
}
}
늘 잊을 만하면 나오는 것이 '윤년'이기에 알고는 있자.
[문제 풀이]
우선 요일의 이름을 담을 String형 배열 1개, 각 달의 일수를 담은 int형 배열을 만든다.
입력받은 달 이전까지의 일수를 모두 합산하고 (Ex 입력받은 달 : 5월이면 4월의 모든 일수까지 합산)
입력받은 일수를 추가로 더한다.
합산 결과값에 '%' 연산을 한 결과값을 String 배열의 index로 사용해 요일의 이름을 얻는다.
[소스 코드]