Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- list.map
- 자동반영
- javascript
- CSS
- redux
- equalityFn
- merge
- Kotlin
- 컬러구성
- php문법
- useCallback
- 공부
- hot Reloading
- list
- 리덕스
- 리액트를 다루는 기술
- 웹
- useState
- pull
- 가상회선교환
- typescript
- await
- Git
- createPortal
- 비동기처리
- rebase
- 리사이클러뷰
- 리액트
- async
- react
Archives
- Today
- Total
공부블로그
프로그래머스 - [ 개인정보 수집 유효기간 ] 본문
https://school.programmers.co.kr/learn/courses/30/lessons/150370
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
오랜만에 알고리즘*^^*
테스트케이스 19번에서 걸렸는데 찾아보니까 유효기간이 100달일때를 고려해야했다!
function solution(today, terms, privacies) {
var answer = [];
let arr_terms = {}
terms.forEach(term => {
if(term.length >= 5){ //유효기간이 100인 경우
arr_terms[term[0]] = parseInt(term.slice(-3))
}else{
arr_terms[term[0]] = parseInt(term.slice(-2))
}
}
)
//현재 날짜 환산
var today_sum = parseInt(today.slice(0,4))*12*28 + parseInt(today.slice(5,7))*28 + parseInt(today.slice(8,10))
privacies.forEach((priv, idx) =>
{
var y = parseInt(priv.slice(0,4) )
var m = parseInt(priv.slice(5,7))
var d = parseInt(priv.slice(8,10))
//해당 사용자정보의 유효기간
var limit = arr_terms[priv.slice(-1)]
var add_y = 0
var add_m = 0
var limit_y = 0
var limit_m = 0
//유효기간이 1년 이상일 때
if(limit > 12){
add_y = Math.floor(limit/12)
add_m = limit%12
}else{
add_m = limit
}
//유효기간의 달 수를 더했는데 해가 넘어가는 경우
if(m + add_m > 12){
add_y += 1
limit_m = m + add_m - 12
}
else{
limit_m = m + add_m
}
limit_y = y + add_y
//현재 날짜에서 유효기간만큼 더한 날짜 : limit
//유효기간만큼 더한 날짜를 환산한 값이 현재날짜를 환산한 값보다 작거나 같으면 파기!
if((limit_y*28*12 + limit_m*28 +d) <= today_sum){
answer.push(idx+1)
}
})
return answer;
}
'공부하기' 카테고리의 다른 글
앱 UI 디자인 기본 - 아이콘, 타이포그래피 (0) | 2024.01.21 |
---|---|
앱 UI 디자인 기본 - 레이아웃과 컬러 (1) | 2023.11.12 |
네트워크 통신 방식 - 회선교환과 패킷교환 (0) | 2023.03.15 |
PHP 문법 (0) | 2023.03.12 |
Next.js 자동 반영 hot reload 안될 때 (0) | 2022.12.20 |