카테고리 없음

[프로그래머스/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;
}