Facts
-
저저번주 처럼 강의 위주의 학습시간 이었다.
-
다행히 계획한대로 이번 주 안으로 제공된 강의 시청을 마쳤다.
-
중간에 장에 부담을 많이줬었나 장염이 생겼다.
Feelings
-
수요일 장염 걸렸을 당시는 진짜로 골로가는 거 아닌가하고 걱정됬다.
-
장염을 걸린 다음날 머리하고 장이 좀 괜찮아지니 오히려 학습욕구가 차올랐다.
Finding
-
언제나 그렇듯 습득은 빠르나 기억력이 좋지 못해 여러 번 다시 찾아 볼 것 같다
-
강의에서 배운 내용을 사용할 때, 정리를 다시 해가며 TIL을 작성해야겠다.
Future
- 다음 주엔 희망한 발제 발표 이후, 본격적으로 아이템 시뮬레이터 과제를 시작할 것 같다.
개선점 분석
- 저녁 식사 이후부터는 배웠던 내용을 정리해가며 블로그에 올리는 작업을 루틴으로 만들어야 겠다
(이번에 자료 정리를 하면서 역시 핵심 요약에 시간이 많이 든다는 것을 깨달았다..)
지식창고
알고리즘 코드 카타
크기가 작은 부분
- 문제
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일같은 날짜는 주어지지 않습니다)
-
function solution(a, b) {
let answer = '';
let day = 0;
let week = ["THU","FRI","SAT","SUN","MON","TUE","WED"]
for (let i = a-1;i > 0;i--) {
if (i === 2) {
day += 29;
} else if (i % 2 === 0 && i < 7) {
day += 30;
} else if (i % 2 !== 0 && i <= 7) {
day += 31;
} else if (i % 2 === 0 && i > 7) {
day += 31;
} else {
day += 30;
}
}
day += b;
answer = week[day % 7]
return answer;
}
코드 분석
LINE(4): 1월 1일 기준 금요일(week[1] = FRI)이 되도록 요일 설계
LINE(6 ~ 16): 윤년의 월별 규칙을 이용해 월의 일 수 더하기 LINE(19): 그 월의 남은 일 수 더하기 LINE(21): 일을 주(7)로 나눠 남은 수를 기준으로 요일을 구한다