본문 바로가기

코테

코테 - 2023kakao Blind - 개인정보 수집기간

 

문제를 보고 든 생각은 terms를 객체로 바꿔주고 privacies도 객체로 바꿔준뒤 foreach를 돌면서 해당하는 유효기간을 선택하여 계산하고 싶었다. date formate을 사용하면서 js문법에도 계산 문법이 있을 거라 생각했기때문이다.

테스트 케이스를 통과하지만 정답률은... ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 다른 테스트 케이스에 대해 알아보고 그뒤 맞춰보겠다.

function solution(today, terms, privacies) {
    const day = new Date(today)
    const answer=[]
    const isterms = new Map()
    const is = new Map()  
    let counter =1
    day.setDate(day.getDate())
  
    terms.forEach((term)=>{
      const [char, num] = term.split(' ');
      isterms.set(char,num)
    })

   privacies.forEach((term)=>{
      const [num,char] = term.split(' ');
      is.set(num,char)
    })

  is.forEach((value,key)=>{
    let days = new Date(key)
    days.setDate(days.getDate())
    days.setMonth(days.getMonth()+parseInt(isterms.get(value)))
    if(days<=day){
      answer.push(counter)
    }
    counter ++
  })
return answer
}

 

 

 

처음엔 privacies을 Map()으로 해주었지만 privacies이 같은 값이 있다면 중복이 안되기때문에 배열로 바꿔주었다

function solution(today, terms, privacies) {
    const day = new Date(today)
    const answer=[]
    const isterms = new Map()
    const is = []
    let counter =1
    day.setDate(day.getDate())
  
    terms.forEach((term)=>{
      const [char, num] = term.split(' ');
      isterms.set(char,num)
    })

   privacies.forEach((term)=>{
      const [num,char] = term.split(' ');
      is.push([num,char])
    })

  
  is.forEach((arr)=>{
    console.log(arr[0])
        let days = new Date(arr[0])
         days.setDate(days.getDate())
        days.setMonth(days.getMonth()+parseInt(isterms.get(arr[1])))
        if(days<=day){
      answer.push(counter)
    }
    counter ++
  })
return answer
}

 

https://school.programmers.co.kr/learn/courses/30/lessons/150370#qna

'코테' 카테고리의 다른 글