2016년 (Level 2)

get Date(), getDat() 메서드 사용이 핵심

문제

2016년 1월 1일은 금요일입니다. 2016년 A월 B일은 무슨 요일일까요?

두 수 A,B를 입력받아 A월 B일이 무슨 요일인지 출력하는 getDayName 함수를 완성하세요.

요일의 이름은 일요일부터 토요일까지 각각

SUN,MON,TUE,WED,THU,FRI,SAT 를 출력해주면 됩니다.

예를 들어 A=5, B=24가 입력된다면 5월 24일은 화요일이므로 TUE를 반환하면 됩니다.

풀이

function getDayName(a,b){
  let day = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]
    let date = new Date(`${a}, ${b}, 2016`).getDay()
  return day[date]
}

//아래 코드는 테스트를 위한 코드입니다.
console.log(getDayName(5,24));

day에 요일 이름, date에 입력한 날짜의 요일을 0~6으로 바꿔주는 메소드 사용

이후에 위에 만든 day 배열에 인덱스로 요일 이름을 리턴

다른 사람의 풀이

function getDayName(a,b){
  var date = new Date(2016, (a - 1), b);
    return date.toString().slice(0, 3).toUpperCase();
}

//아래 코드는 테스트를 위한 코드입니다.
console.log(getDayName(5,24));

처음에 시도하려했던 방법인데 출력 방식이 문자열이 아니여서 바로 다른 방법을 택했지만,

위의 코드처럼 toString() 메서드로 해결했으면 더 좋았을 것 같음

+ Recent posts