728x90
반응형
2016년 1월 1일 : 금요일
+0 : 1월 1일 (+0)
+1 : 1월 2일 (+1) 토요일
+2 : 1월 3일 (+2) 일요일
...
+7 : 1월 8일 (+0) 금요일
몇 개의 요일이 지났는지 확인
month : 1월 31, 2월 29, 3월 31, ... 며칠있는지 다 적어놓기
days += month[i]
밸류값만 뽑아서 저장!
const month = {
1: 31,
2: 29,
3: 31,
4: 30,
5: 31,
6: 30,
7: 31,
8: 31,
9: 30,
10: 31,
11: 30,
12: 31
}
const day = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"];
function solution(a, b) {
let days = 0;
for(let i = 1; i<a; i++) {
days += month[i]; // 하루를 뺀 값!(당일 제외)
}
days += (b-1);
console.log(days % 7, days)
console.log(day[days%7])
}
solution(5, 24); // TUE
# reduce 이용
const month = {
1: 31,
2: 29,
3: 31,
4: 30,
5: 31,
6: 30,
7: 31,
8: 31,
9: 30,
10: 31,
11: 30,
12: 31
}
const day = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"];
function solution(a, b) {
const days= new Array(a)
.fill(1)
.reduce((acc,cur,i) => {
const mn = cur + i;
return acc + ( mn !== a
? month[mn] // a월 이전의 월일 경우 통째로 일수를 더해준다.
: b - 1
)
})
return day[days%7];
}
solution(5, 24);
Date() -> string
new Date() -> object
new Date ( 2016, 5, 24 ) -> 2016년 6월 24일의 데이터를 가져옴
728x90
반응형
'프론트엔드✏️ > 코드캠프' 카테고리의 다른 글
220608 프론트엔드 부트캠프 29일차: 로그인, 암호화, JWC 토큰 (0) | 2022.06.09 |
---|---|
알고리즘 - 최대공약수, 최소공배수 유클리드 호제법 (0) | 2022.06.08 |
220607 프론트엔드 부트캠프 28일차 : 다 함수야!, graphql 궁금, globalstate (0) | 2022.06.07 |
220606 프론트엔드 부트캠프 27일차 : 이미지 여러개, 검색, 디바운싱, 쓰로틀링 (0) | 2022.06.07 |
Throttling & Debouncing (0) | 2022.06.06 |