프로그래머스(JavaScript)/Lv1

[프로그래머스 : 연습문제] Lv1. 2016년 (JavaScript)

지미지민 2024. 4. 2. 01:46

 

 

 

💜 코드


function solution(a, b) {
    const month = {
        1:31, 2:29, 3:31, 4:30, 5:31, 6:30, 7:31, 8:31, 9:30, 10:31, 11:30, 12:31
    };
    const day = ["FRI","SAT","SUN","MON","TUE","WED","THU",];
    let sum = 0;

    for(let i=1; i<a; i++){
        sum += month[i];
    }
    sum += b - 1; // -1을 해서 1월 1일부터 경과한 날짜를 구함
    
    const idx = sum % 7;
    return day[idx];
    
}

 

 

 

💜 실행 결과


 

 

 

💜 다른 사람의 풀이


function getDayName(a,b){
    var dayList = ['FRI','SAT','SUN','MON','TUE','WED','THU'];
  var monthArr = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  var daySum;
  if(a < 2) {
    daySum = b - 1;
  } else {
    daySum = monthArr.slice(0, a - 1).reduce((a, b) => a + b) + b - 1;
  }
    return dayList[daySum % 7];
}