일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 더티체킹
- 프로그래머스
- java
- 포트 죽이는법
- 자바
- 조회수중복
- 전적 검색
- 백엔드 스쿨3기
- 리코쳇로봇
- JPA
- 백준
- BFS
- 카카오2023신입공채
- 올리브영 고객센터
- 스프링 입문을 위한 자바 객체 지향의 원리와 이해
- 김영한
- 인프런
- 영속성
- 스프링부트
- 인텔리제이 에러
- 엔에첸
- 테크잇
- already use
- 멋쟁이사자차럼
- 최주호
- 라이엇 API
- 알고리즘
- DFS
- 자바ORM표준JPA프로그래밍
- 시소 짝꿍
Archives
- Today
- Total
My Blog
[JAVA] 개인정보 수집 유효기간 본문
https://school.programmers.co.kr/learn/courses/30/lessons/150370
package programmers;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
public class kakao2023_1 {
static HashMap<String, String> terms_data;
public int[] solution(String today, String[] terms, String[] privacies) {
ArrayList<Integer> ans = new ArrayList<>();
terms_data = new HashMap<>();
for (int i = 0; i < terms.length; i++) {
String[] info = terms[i].split(" ");
terms_data.put(info[0], info[1]);
}
int today_year = Integer.parseInt(today.split("\\.")[0]);
int today_month = Integer.parseInt(today.split("\\.")[1]);
int today_day = Integer.parseInt(today.split("\\.")[2]);
int today_cnt = (today_year * 12 * 28) + (today_month * 28) + today_day;
for (int i = 0; i < privacies.length; i++) {
String terms_info = String.valueOf(privacies[i].charAt(privacies[i].length() - 1));
int addMonth = Integer.parseInt(terms_data.get(terms_info));
String[] data_info = privacies[i].split(" ")[0].split("\\.");
int year = Integer.parseInt(data_info[0]);
int month = Integer.parseInt(data_info[1]);
int day = Integer.parseInt(data_info[2]);
month += addMonth;
if (month > 12) {
year = ((month) / 12) + year;
if (month % 12 == 0) {
year -= 1;
month = 12;
} else {
month %= 12;
}
}
day -= 1;
if (day == 0) {
day = 28;
month -= 1;
if (month == 0) {
year -= 1;
month = 12;
}
}
int passCnt = (year * 12 * 28) + (month * 28) + day;
if (passCnt < today_cnt) {
ans.add(i + 1);
}
}
int[] answer = ans.stream()
.mapToInt(i -> i)
.toArray();
System.out.println(Arrays.toString(answer));
return answer;
}
public static void main(String[] args) {
kakao2023_1 s = new kakao2023_1();
String today = "2022.05.19";
String[] terms = {"A 6", "B 12", "C 3"};
String[] privacies = {"2021.05.02 A", "2021.07.01 B", "2022.02.19 C", "2022.02.20 C"};
System.out.println(s.solution(today, terms, privacies));
}
}
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[JAVA] 두 수의 나눗셈 (0) | 2023.02.22 |
---|---|
[JAVA] 숫자 비교하기 (0) | 2023.02.22 |
[JAVA] 프로그래머스 - 나머지 구하기 (0) | 2023.02.21 |
[JAVA] n진수 게임 (0) | 2023.01.19 |
[JAVA] 프렌즈4블록 (0) | 2023.01.18 |
Comments