블로그

[프로그래머스, 자바스크립트] 알고리즘-16 2016년 본문

알고리즘

[프로그래머스, 자바스크립트] 알고리즘-16 2016년

wooluck 2019. 11. 20. 00:11

출처 : 프로그래머스 알고리즘 코딩테스트 Level.1

https://programmers.co.kr/learn/courses/30/lessons/12901?language=javascript

2016년

문제
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를 반환하세요.

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

입출력 예시

a b return
5 24 "TUE

 

풀이 과정

1. 요일의 이름을 담은 배열을 생성.

2. getDay를 이용해 입력받은 날짜의 idx 확인.

3. 템플릿 문자열로 처리하면 더 수월할거 같다.

 

답안

function solution(a, b) {
    const days = ['SUN','MON','TUE','WED','THU','FRI','SAT'];
    return days[new Date(`2016-${a}-${b}`).getDay()];
}

2016년 1월 1일의 실제 요일이 금요일이 아니었다면 어떻게 풀어야할까?

Comments