algorithm/문제풀이

개인정보 수집 유효기간

yongfront 2024. 6. 12. 12:20
반응형
SMALL

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

수집된 개인정보는 유효기간 전까지만 보관 가능하며, 유효기간이 지났다면 반드시 파기해야 합니다.

스택큐 느낌!

모든 달은 28일까지 있다고 가정합니다.

에서 다행이다를 느낌 날짜계산 복잡하지 않을 듯

 

넘어오는 데이터들 console.log(today, terms, privacies); 하면

2022.05.19 [ 'A 6', 'B 12', 'C 3' ] [ '2021.05.02 A', '2021.07.01 B', '2022.02.19 C', '2022.02.20 C' ]

 

2022.05.19  <- 오늘 날짜 

A 6  <- 각 정보유형, 보관 기관개월 수 (공백으로 스플릿하라고 한 듯)

2021.05.02 A  <- 저장된 날짜와 정보유형 (역시 공백으로 스플릿)

 

[ 'A', '6' ]

 

일단 년 월 일을 전부 day로 치환한다

 

2022년 5월 19일은 679551이다

비교만하면 끝날거같음

 

 

이런식으로 가독성을 위해 더 깔끔하게 바꿈

 

A가 몇달이고 B가 몇달이고 C가 몇달인지 그걸 날짜로 치환하면서 키:밸류 오브젝트로 만들기

{ A: 168, B: 336, C: 84 }

 

역시나 객체는 많이 안다뤄봐서 바로는 못 적어냈음

 

이제 개인정보 수집 일자를 유효기간과 더해서 day랑 비교만 하면 끝

 

처음에 왜 안되지 싶었는데 compDay에서 1일을 빼줘야 올바른 값이 나옴 수집일자도 카운트 하기 때문임

이제 이걸 result 에 i + 1 로 담아서 리턴시킴 (문제에서는 번호를 1부터 세었기 때문)

728x90
반응형
LIST