본문 바로가기
알고리즘 문제/프로그래머스_Lv1 도장깨기

[프로그래머스] 2016년 (Javascript)

by 스코필 2024. 11. 7.

문제 링크 

https://school.programmers.co.kr/learn/courses/30/lessons/12901

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

문제 설명

2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a, b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수를 완성하세요. 요일의 이름은 일요일 ~ 토요일까지 SUN, MON, TUE, WED, THU, FRI, SAT 입니다.

 

제한 조건

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

 

✅ Code - 성공

// 윤년 = 2월이 29일인 년

function solution(a, b) {
    var week = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
    var month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    var day = b + 4 // 1월 1일이 금요일이므로, a = 1, b = 1일 때 week의 인덱스 5번째(금요일)를 출력하도록 초기 설정
    for (let i = 1; i < a; i++) {
        day += month[i - 1];
    }
    
    return week[day % 7];
}