알림
본 포스팅은 공부 목적으로 작성된 글이며 상업적 목적으로 절대 사용되지 않았음을 밝힙니다.
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12901
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
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"를 반환하세요.
코드
function solution(a, b) {
let day = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
let date = new Date('2016-' + a + '-' + b);
return day[date.getDay()];
}
풀이
a와 b를 받아, 실제 2016년의 a월 b일의 요일을 구하는 문제입니다.
당연히 실제 2016년의 요일을 계산하는 것이기 때문에 13월 2일, 2월 45등은 존재하지 않고, 저희가 거르지 않고 문제 자체에서 먼저 주어지지 않는다고 합니다.
먼저 2016년 a월 b일의 날짜를 변수에 담고, getDay() 함수를 사용해 2016년 a월 b일의 현재 시간 기준 요일을 가져오도록 합니다.
0은 일요일이고, 7은 토요일이기 때문에, 일요일부터 토요일 순서로 담겨있는 배열을 만든 뒤, 받아온 2016년 날짜의 현재 시간 기준 요일을 구하고, 배열에서 해당 인덱스의 요일을 리턴해주면 됩니다.
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] 최댓값과 최솟값(JavaScript) (0) | 2022.08.03 |
---|---|
[Programmers] 시저 암호(JavaScript) (0) | 2022.08.03 |
[Programmers] 소수 찾기(JavaScript) (0) | 2022.08.02 |
[Programmers] 소수 만들기(JavaScript) (0) | 2022.07.29 |
[Programmers] K번째수(JavaScript) (0) | 2022.07.29 |
댓글