본문 바로가기
  • Jetpack 알아보기
프로그래머스 - JAVA/Level 1

[JAVA] 프로그래머스 Lv.1 : 2016년

by 새우버거♬ 2021. 4. 4.

2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요.

요일의 이름은 일요일부터 토요일까지 각각   SUN,MON,TUE,WED,THU,FRI,SAT  입니다.

예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.

 

 

예제:

 

Input:
a :5, b : 24
Output:

"TUE"

 

제한 조건:

  • 2016년은 윤년입니다.
  • 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)

 

Solution #1

class Solution {
    public String solution(int a, int b) {
        int day = b;

        for (int i = 1; i < a; i++) {
            switch (i) {
                case 1, 3, 5, 7, 8, 10, 12 -> day += 31;
                case 4, 6, 9, 11 -> day += 30;
                case 2 -> day += 29;
            }
        }

        return switch ((day - 1) % 7) {
            case 1 -> "SAT";
            case 2 -> "SUN";
            case 3 -> "MON";
            case 4 -> "TUE";
            case 5 -> "WED";
            case 6 -> "THU";
            default -> "FRI";
        };
    }
}

 

Result #1

 

💡 a 이전의 달 일수를 더하고, 총 일수를 7로 나눈 나머지 값으로 요일을 구한다. 

 


 

More Algorithm!

 

👇👇

 

github.com/ggujangi/ggu.programmers

 

ggujangi/ggu.programmers

프로그래머스 알고리즘, JAVA. Contribute to ggujangi/ggu.programmers development by creating an account on GitHub.

github.com

 

 

 

출처 : 프로그래머스