[매일코딩-프로그래머스] 2016년 02

2021. 11. 23. 10:32WEB Dev/CordingTEST

728x90

 

오늘 다시 도전

객체로 만들라다가 그건 아닌거 같은데 이걸 어떤 조건을 줘야 하지?

내 머리로는 도저히 안되어서 이미 한 번 푼 김에 다른 사람들이 질문에 올려둔 코드를 분석해서 내 식으로 정리해보려고 한다. 물론 질문에 올려진거라 해결된 건 아니라서 오히려 좋아.

 

Mun**님의 코드

 

const a = 5;
const b = 24;

const getDayName = (month,day) => {
    const month_31 = [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 ResultFuc = () => {
    const DayOfTheWeek = ['THU','FRI','SAT','SUN','MON','TUE','WED'];
    let result = null;
    let ResultDay = getDayName(month=a, day=b);

    if(ResultDay !== null){
        for(let i = 0; i < 7; i++){
        if(ResultDay % 7 === i){
           return result = DayOfTheWeek[i];
            }
        }
    }else{
        null;
    }

    return result;
}
console.log(ResultFuc())

 

 

읽을라니까 모르겠네 손코딩 해보고 내일 작성해야지

 

728x90