일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 데이터분석
- level4
- programmers
- 파이썬
- Stack
- 시간복잡도
- coding
- coding test
- 연습문제
- time complexity
- Queue
- lambda
- 조합
- 코딩테스트
- counter
- import re
- python
- collections
- lv4
- mysql
- join
- 완전탐색
- 코테
- 코딩
- BFS
- CodingTest
- Level2
- 프로그래머스
- itertools
- sql
- Today
- Total
ror_coding
[Programmers] 개인정보 수집 유효기간 - 150370 본문
728x90
import datetime을 이용해서 년월일 계산하기.
string을 datetime.strptime()을 이용해서 날짜로 변환하고 연산하기.
Question
오늘 날짜를 의미하는 문자열 today, 약관의 유효기간을 담은 1차원 문자열 배열 terms와 수집된 개인정보의 정보를 담은 1차원 문자열 배열 privacies가 매개변수로 주어집니다. 이때 파기해야 할 개인정보의 번호를 오름차순으로 1차원 정수 배열에 담아 return 하도록 solution 함수를 완성해 주세요.
Point
- from datetime import datetime()
- datetime.strptime()
Code
from datetime import datetime
def solution(today, terms, privacies):
answer = []
term = {}
today = datetime.strptime(today,'%Y.%m.%d')
for i in terms:
term[i[0]] = int(i[2:])
for idx,i in enumerate(privacies):
date, sort = datetime.strptime(i[:10],'%Y.%m.%d'), i[-1]
diff = [(today.year-date.year)*12 + today.month-date.month, today.day - date.day]
if diff[1] < 0 : # day 차이가 음수라면 1개월을 day로 전환.
diff[0] -= 1
diff[1] += 28
if diff[0] >= term[sort]:
answer.append(idx+1)
return answer
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/031.gif)
now me
On my github
728x90
'Algorithm > Python' 카테고리의 다른 글
[Programmers] 올바른 괄호 - 12909, 짝지어 제거하기 - 12973 (0) | 2024.10.28 |
---|---|
[Programmers] 신고 결과 받기 - 92334 (0) | 2024.10.28 |
[Programmers] 바탕화면 정리 - 161990 (0) | 2024.10.26 |
[Programmers] 신규 아이디 추천 - 72410 (0) | 2024.10.25 |
[Programmers] [PCCE 기출문제] 10번 / 데이터 분석 - 250121 (1) | 2024.10.25 |