프로그래머스#JS - 2016년

SSO·2020년 1월 2일
0

프로그래머스Lv1

목록 보기
6/47

문제

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

풀이

  1. 다른 사람의 풀이 => new Date()이용

  2. 2020

function solution(a, b) {
    var answer = '';
    var day = ["THU","FRI","SAT","SUN","MON","TUE","WED"];
    var days = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    var sumToLastMonth = 0;
    var totalDays = 0;
    var target = '';
    
 
    for(var i=0; i<a-1; i++){
        sumToLastMonth = sumToLastMonth + days[i];
    }
    totalDays = sumToLastMonth + b;
    
    target = totalDays%7;
    answer = day[target];
    
    return answer;
}

풀이과정 문제점

  • 윤년을 왜 28일이라고...?
  • %7을 이용한 요일 배열 설정 -> 나머지와 배열 인덱스 상관관계.
  1. 2019
function solution(a, b) {
    var answer = '';
    var daysOfMonth = [31,29,31,30,31,30,31,31,30,31,30,31];
    var dayOfWeek = ['THU','FRI','SAT','SUN','MON','TUE','WED'];
    var days = 0;
    var finalDays = 0;
    for (var i = 0; i < (a-1); i++){
      days = days + daysOfMonth[i];
    }
    finalDays = days + b;
    var result = finalDays % 7;//0~6
    answer = dayOfWeek[result];
    return answer;
}

// 무슨 요일인가?  - a월 b일을 숫자로 치환
// 1 31 2 29 3 31 4 30 5 31 6 30 731 831 9 30 10 31 11 30 12 31
//

참고사항

profile
happy

0개의 댓글