-
[프로그래머스] 2016년 - JavaScript 📝Algorithm 2021. 11. 9. 10:09
[링크]
https://programmers.co.kr/learn/courses/30/lessons/12901
[문제설명 및 입출력 예]
[내가 제출한 코드 및 풀이]
function solution(a, b) { let answer = ''; const week = ['THU', 'FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED']; // 총 날짜 / 7 의 나머지가 1일 때 '금요일' const month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; let totDate = 0; for(let i=0; i<a-1; i++) { // 입력받은 a월의 전월까지 반복 (만약 1월이면 for문 돌지 않음) totDate += month[i] // 전월까지의 날짜 계산 } totDate += b; // 해당 월의 날짜도 합산 answer = totDate % 7; // 요일(7)로 나눔 answer = week[answer] // week 인덱스에서 7로 나눈 나머지의 인덱스를 찾음 return answer; // 요일 출력 }
[다른 사람의 코드]
💡 data 메서드를 사용한 코드
function getDay(a,b){ let day = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"] let date = new Date(`${a}, ${b}, 2016`).getDay() return day[date] }
💡 data 메서드와 slice를 사용한 코드
function getDay(a,b){ var date = new Date(2016, (a - 1), b); return date.toString().slice(0, 3).toUpperCase(); }
Date() 메서드
함수로 호출할 경우 new Date().toString() 과 동일하게 현재 날짜와 시간을 나타내는 문자열을 반환
new Date() 메서드
생성자로 호출할 경우 새로운 Date 객체를 반환
new Date(year, monthIndex[, day[, hour [, minutes [, seconds, [, milliseconds ]]]]]);
👉 monthIndex 는 month를 나타내는 정수이고 1월은 0이므로, 특정 월을 지정할 경우 -1을 해줘야한다.
ex) a = 3 일 때, a-1 을 해줘야함!
0 : 1월
1 : 2월
2 : 3월
3: 4월
.
.
.'Algorithm' 카테고리의 다른 글
[프로그래머스] 내적 - JavaScript 📝 (0) 2021.11.09 [프로그래머스] 나누어 떨어지는 숫자 배열 - JavaScript 📝 (0) 2021.11.09 [프로그래머스] 부족한 금액 계산하기 - JavaScript 📝 (0) 2021.11.09 [프로그래머스] x만큼 간격이 있는 n개의 숫자 - JavaScript 📝 (0) 2021.11.09 [프로그래머스] 행렬의 덧셈 - JavaScript 📝 (0) 2021.11.09