ABOUT ME

Today
Yesterday
Total
  • [프로그래머스/javascript] 개인정보 수집 유효기간(구조분해할당 등 이용해서 다시 풀어보기)
    카테고리 없음 2023. 2. 4. 17:19
    function solution(today, terms, privacies) {
        var answer = [];
        let obj ={};
        let todayMon = today.split(".");
        todayMon = (Number(todayMon[0])-1999)*12+Number(todayMon[1])
        let todayDay = today[8]+today[9];
        let term = terms.map((str)=>str.split(" "))
        //terms 2차원배열로 만들기
        //privacies 2차원배열로 만들기
        //privacies[1]===terms[i] 찾아 달에 더하기
        //privacies[1]은 .으로 나눠서 3차원배열로 만들어도 ㄱㅊ
        //today보다 지난경우, answer에 추가
        //2000~2022라 했으니... 개월로 바꾸는게 편할듯.
        let privacy = privacies.map((str)=>str.split("."))
        for(let i=0;i<privacy.length;i++){
            privacy[i][0] = (Number(privacy[i][0])-1999)*12;
        }
        for(let i=0;i<privacies.length;i++){
            for(let j=0;j<terms.length;j++){
                if(privacies[i][11]===terms[j][0]){
                    obj[i+1] = privacy[i][0]+Number(privacy[i][1])+Number(term[j][1])
                        // Number(privacy[i][1])+Number(terms[j][1])
                    }
    
                }
        }
        for(let key in obj){
            if(obj[key]<todayMon){
                answer.push(Number(key))
            }
            if(obj[key]===todayMon){
                let privacyDay = 
                    privacies[Number(key)-1][8]+privacies[Number(key)-1][9];
                if(Number(todayDay)>=Number(privacyDay)){
                    answer.push(Number(key))
                }
            }
        }
        //276 252
        return answer;
    }
Designed by Tistory.