[프로그래머스] Level 1 2016년

황지성·2022년 11월 19일
0

2016년

[문제 설명]

[필요한 정보]

윤년이라는 개념이 이 문제에서 큰 역할을 하지 않는다. 하지만 해당 문제를 조금 더 확장한다면 월과 일만을 입력하는 것이 아닌 연도까지 입력할 수 있다.

그래서 짧게 나마 윤년은 무엇이고 어떻게 코딩으로 구할 수 있을까를 알아보자.

윤년 : 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로 사용해 요일의 이름을 얻는다.

[소스 코드]

profile
성장하는 개발자

0개의 댓글

관련 채용 정보