코딩 테스트 연습/Programmers

[프로그래머스] 2016년

은돌1113 2023. 8. 18. 09:40

문제 설명

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일 같은 날짜는 주어지지 않습니다)

입출력 예

a b result
5 24 "TUE"

문제풀이

  • yyyy-mm-dd 형식의 date 변수를 만들고,
    new Date() 객체를 date를 대입하여 변환한 후 getDay()를 사용하여 해당 날짜의 요일을 반환받았다. (숫자 형식)

    문제에서는 문자열로 출력해야 하기 때문에 요일별로 문자열 담은 배열 day 변수를 생성한 후
    위 결과값을 인덱스로 하여금 결과값을 반환해 주었다.
요일 반환값
일(SUN) 0
월(MON) 1
화(TUE) 2
수(WED) 3
목(THU) 4
금(FRI) 5
토(SAT) 6
function solution(a, b) {
  let answer = "";

  const day = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
  const date = `2016-${a}-${b}`;

  answer = day[new Date(date).getDay()];

  return answer;
}

solution(5, 24);
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr