[자바스크립트 알고리즘] - 요일 구하기

Marcus·2018년 12월 19일
4

알고리즘

목록 보기
2/14
post-thumbnail

안녕하세요 오늘부터 부족했던 자바스크립트에 대해서 공부하기 위해
1주일에 4개의 알고리즘 문제를 풀고 꾸준히 블로그에 올릴 예정입니다:D

모든 알고리즘 문제는 프로그래머스에서 풀 생각이며 기업형 문제 및 대외 시험 문제를 제외하고는 블로그에 포스팅이 가능하다고 해서 진행할 예정입니다.

1편은 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를 반환하세요.

제한 조건


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

입출력 예


스크린샷 2018-12-19 오후 12.14.55.png

위에 설명을 여러분도 한번 풀어보세요!

문제 풀이


function solution(a, b) {
    
    let week = ['SUN','MON','TUE','WED','THU','FRI','SAT']
    let year = '2016';
    let month = a;
    let day = b;
    let dayOfWeek = week[new Date(year+'-'+month+'-'+day).getDay()];
    return dayOfWeek;
}

저는 다음과 같이 문제를 풀었습니다.
a에는 월이 b에는 일이 인자로 들어오기 때문에
인자를 month와 day담고
Date class를 사용하여 변환해주는 작업을 진행했습니다.

저는 자바스크립트 초보라서 잘 모르니 참고 정도만 해주시고 실제로 문제를 풀고 문제에 대한 평가를 받고 싶으시다면

밑에 프로그래머스에 2016이라는 문제를 풀어보세요!
https://programmers.co.kr/learn/courses/30/lessons/12901

해당 내용은 깃헙에 1주일 5풀이 프로젝트로 진행할 계획입니다.
https://github.com/Jogeonsang/JS-Algorithm


write by Marcus

profile
개발을 사랑합니다 :)MarketDesigners - Front-End Engineer

3개의 댓글

comment-user-thumbnail
2018년 12월 19일

감사합니다~

1개의 답글
comment-user-thumbnail
2020년 7월 20일

많은 분 들이 new Date로 푸셨던데 답은 맞지만 문제에서 요구하는건 단순히 날짜 객체 메서드활용이 아닌 문제취지에 맞는 알고리즘인 듯 합니다.

답글 달기