우당탕탕 개발일지
[프로그래머스] 개인정보 수입 유효기간 (Java, Level.1) 본문
문제
해당 개인정보는 2022년 1월 4일까지 보관 가능하며
2022년 1월 5일부터 파기해야 할 개인정보입니다.
today : 오늘 날짜를 의미하는 문자열
terms : 약관의 유효기간을 담은 1차원 문자열 배열
privacies : 수집된 개인정보의 정보를 담은 1차원
>> privacies[i] = "yyyy.MM.dd 약관"
이때 파기해야 할 개인정보의 번호를 오름차순으로 1차원 정수 배열에 담아
return 하도록 solution 함수를 완성해 주세요.
입출력 예
풀이
날짜를 비교하기 위해 Date 형식을 사용하였다.
문제 통과 후, 다른 사람의 풀이를 보니 날짜 형식이 아닌 숫자로 재해석(?) 하여 풀었다....
그 방식은 내일 다시 풀어보는걸로...!
1. 변수
dateFormat : 날짜 형식 지정
toDate : 주어진 오늘 날짜를 Date 형식으로 변환
resultList : 결과 번호 저장할 변수
termMap : 각각의 약관 별 유효기간 저장
2. 각각의 약관 별 유효기간 저장
Key : 약관 이름
Value : 약관 기간
3. 유효기간 확인
getDate 함수를 통해서 각각의 유효기간을 계산하여 date 변수에 저장한다.
date 값보다 오늘 날짜가 더 과거면 resultList 변수에 해당 index + 1 값을 저장한다.
4. getDate 함수
[ 매개변수 & 변수 ]
strDate : 주어진 개인정보 수집 일자
term : 약관에 따른 유효기간
time : string 형태의 strDate을 년, 월, 일별로 나누어 각각 저장
str : 계산 후의 yyy.MM.dd 의 값 저장할 변수
[ 날짜 계산 ]
월에 따른 년도 변화
일자에 따른 달 변화 설정
[ 날짜 형태 설정 및 반환 ]
time에 저장되어 있는 년, 월, 일을 가지고 String 변수에 yyyy.MM.dd 형식으로 저장
String 변수를 Date 형식으로 변경하여 반환
>> 호출된 함수에서 날짜 비교 시, 사용하기 쉽게..!
5. 반환
반환 값이 int[] 형태로 지정되어 있다.
따라서 결과값을 가지고 있는 resultList 변수을 int[] 형태로 변환 후, 반환한다.
코드
프로그래머스 문제
https://school.programmers.co.kr/learn/courses/30/lessons/150370
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] NULL 처리하기 (MySQL, Level.2) (0) | 2025.02.03 |
---|---|
[프로그래머스] 성격 유형 검사하기 (Java, Level.1) (0) | 2024.07.10 |
[프로그래머스] 데이터 분석(Java, Level.1) (0) | 2024.07.09 |
[프로그래머스] 공원 산책 (Java, Level.1) (1) | 2024.07.08 |
[프로그래머스] 신고 결과 받기(Java, Level.1) (0) | 2024.07.08 |