안녕하세요~오늘은 프로그래머스 알고리즘 연습 5일차입니다~
오늘은 프로그래머스 사이트에서 보다가 개발하면서 자주 쓸만한(?) 문제가 있어서 가져왔습니다~
그건 바로..!!
시간을 이용한 문제!!
제목은 2016년 이라고 써있는데 문제는 좀 다릅니다~
문제 바로 나갑니다!!
문제 | 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 | return |
5 | 24 | "TUE" |
오늘도 역시 문제를 잘 읽어봅니다 흠..2016년으로 정해지고 월,일 값이 입력값으로 넘어오는구나 그..그렇다면!!! 혹시? 저와 같은 생각을?? 그렇습니다 Date 객체를 사용하겠습니다~
간단하게 바로 풀이 들어갑니다~
function solution(a, b) {
var week = new Array('SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT');
var date = new Date("2016-"+a+"-"+b).getDay();
var answer = week[date];
return answer;
}
여기서 사용한 Date 객체!! 여기 문제에서 2016년 a월 b일의 요일을 구하는거니 Date 객체에
년월일을 넣어줍니다~그리고 .getDay(); 해당 메소드는 입력된 년월일의 요일을 숫자로 나타내줍니다 일요일은 0, 월요일은 1.....토요일은 6으로 나옵니다
그래서 배열로 만든 week[date] 로 해서 해당 요일 값을 노출하였습니다~
매일 조금이나마 이렇게 포스팅하면서 공부도 하고 정보도 전달해드릴수 있어서 kr-series 를 꾸준히 진행해보겠습니다~
다들 늦은 밤 좋은 밤되세요~