Back to all posts
2016년
Written by ppotatoG & Posted on November 15th, 2021
처음 제출한 답
date
에 month
를 월 -1 한 만큼 모두 더해주고 일을 더해준다
금요일 시작이니 -4를 하고 몫에 따라 요일 반환
function solution(a, b) {const month = [31, 29 ,31, 30, 31, 30, 31, 31, 30, 31, 30, 31];const date = month.slice(0, a - 1).reduce((a, b) => a + b) + b;if((date - 4) % 7 === 0) return 'MON';if((date - 4) % 7 === 1) return 'TUE';if((date - 4) % 7 === 2) return 'WED';if((date - 4) % 7 === 3) return 'THU';if((date - 4) % 7 === 4) return 'FRI';if((date - 4) % 7 === 5) return 'SAT';if((date - 4) % 7 === 6) return 'SUN';}
두번째 제출한 답
조건문이 너무 많은게 문제인가.. reduce가 문제인지 몰라 다른 방법으로 해봤지만
이 방법도 테케 1, 2에서 에러
function solution(a, b) {const month = [31, 29 ,31, 30, 31, 30, 31, 31, 30, 31, 30, 31];const arr = ['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'];let date = 0;for(let i = 0; i < a - 1; i++){date += month[i];}return arr[(date + b - 4) % 7];}
포기
어떻게 해도 안되길래 깔끔하게 포기-!
function solution(a, b) {const month = [31, 29 ,31, 30, 31, 30, 31, 31, 30, 31, 30, 31];const arr = ['THU', 'FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED'];const date = month.slice(0, a - 1).reduce((a, b) => a + b);return arr[(date + b) % 7];}