[매일코딩-프로그래머스] 2016년 03
2021. 11. 24. 10:41ㆍWEB Dev/CordingTEST
728x90
손코딩은 시간이 모자라서 제대로 못해봤는데, 이 분이 문제에 있는 '함수, solution' 을 무시하고 다른 함수 이름을 넣어서 테스트가 안된 것 같다.
마지막 함수를 최종 실행되는 함수인 ResultFuc를 solution으로 바꾸고, 인자로 아무것도 들어가지 않고 있어서
a, b 인자를 넣어주었다. month=a, day=b도 불필요해 보여서 a, b로 수정했다.
위의 getDayName 함수는 전달한 a, b를 month, day라는 변수 이름으로 잘 받고 있어서 별도로 a,b로 바꾸지 않아도 된다. 바꾸면 여러모로 좋지 않을까 성능이라던지?
수정한 최종 코드는 이것이다.
const getDayName = (month,day) => {
//month는 주어지는 변수 a 고 day는 주어지는 변수 b이니까 a, b로 변환해도 될듯
//month, day가 읽는 사람 입장에서는 더 편해요.
const month_31 = [1,3,5,7,8,10,12];
const month_30 = [4,6,9,11];
const day_all = [31,29,31,30,31,30,31,31,30,31,30,31];
let day_plus = null;
const sum = (month, day_plus, day_all) => {
for(let i=0; i < month-1; i++){
day_plus += day_all[i]
}
return day_plus += day;
}
if(month === 1 && day <= 31){
return day_plus = day;
}
else if(month === 2 && day <= 29 || month === 3 && day <= 31){
return sum(month, day_plus, day_all);
}
else if(month_31.indexOf(month-1) > -1 && day <= 30 && month !== 13){
return sum(month, day_plus, day_all);
}
else if(month_30.indexOf(month-1) > -1 && day <= 31 ){
return sum(month, day_plus, day_all);
}else{
null;
}
return day_plus;
}
const solution = (a, b) => {
const DayOfTheWeek = ['THU','FRI','SAT','SUN','MON','TUE','WED'];
let result = null;
let ResultDay = getDayName(a, b);
if(ResultDay !== null){
for(let i = 0; i < 7; i++){
if(ResultDay % 7 === i){
return result = DayOfTheWeek[i];
}
}
}else{
null;
}
return result;
}
728x90
'WEB Dev > CordingTEST' 카테고리의 다른 글
[매일코딩-프로그래머스] 모의고사 02 (0) | 2021.11.26 |
---|---|
[매일코딩-프로그래머스] 모의고사 01 (0) | 2021.11.25 |
[매일코딩-프로그래머스] 2016년 02 (0) | 2021.11.23 |
[매일코딩-프로그래머스] 2016년 01 (0) | 2021.11.22 |
[매일코딩-프로그래머스] 가운데 글자 가져오기 03 (0) | 2021.11.19 |