개발자 '쑥말고인절미'

[프로그래머스] JS 2016년 본문

STUDY/코딩테스트

[프로그래머스] JS 2016년

쑥말고인절미 2022. 9. 28. 22:56

문제


내 답안

function solution(a, b) {
    let week = ['THU', 'FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED'];
    
    if(a == 2) b = 31 + b;
    if(a == 3) b = 31 + 29 + b;
    if(a == 4) b = 31 + 29 + 31 + b;
    if(a == 5) b = 31 + 29 + 31 + 30 + b;
    if(a == 6) b = 31 + 29 + 31 + 30 + 31 + b;
    if(a == 7) b = 31 + 29 + 31 + 30 + 31 + 30 + b;
    if(a == 8) b = 31 + 29 + 31 + 30 + 31 + 30 + 31 + b;
    if(a == 9) b = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31+ b;
    if(a == 10) b = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30+ b;
    if(a == 11) b = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31+ b;
    if(a == 12) b = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30+ b;
    
    return week[b%7];
}

메모

흠~ 대단해 생각하기 싫어서 노가다를 뛰어버렸다~ 윤년이 무엇인가 했더니 년도를 4로 나누었을 때 나머지가 0인 년도가 윤년이었다~~ 아니근데 홀수달은 전부 31일인걸로 알고 있었는데 알고보니 8월부터 짝수달이 31일이어서 중간에 뭐가 틀린지도 모르고 헤맸다. 

아래는 친구소스!

function solution(a, b) {
    var answer = '';
    var day = [31 , 29 , 31, 30, 31, 30,31,31,30,31,30,31];
    var WEEK = ['FRI','SAT','SUN','MON','TUE','WED','THU'];
    var k = 0;
    var now = 0;
    day.map((x,i) => {
        if(i < a-1){
            k +=x;
        }
    })
    
    console.log((k+b)%7);
    
    return WEEK[(k+b)%7== 0 ? 6 : (k+b)%7-1];
}

참고링크

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=itinstructor&logNo=100201553237 

 

날짜를 이용해서 요일 구하기! (날수 계산)

이번에는 달력과 관련된 내용입니다. 달력은 수학적인 계산에 의해서 만들어진 년, 월, 일을 사용하는 것입...

blog.naver.com

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kwangsu200&logNo=220525507468