원본 : https://school.programmers.co.kr/learn/courses/30/lessons/150370
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
class Solution {
public Integer[] solution(String today, String[] terms, String[] privacies) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
Map<String, Integer> termsMap = new HashMap<>();
for (String term : terms) {
String[] temp = term.split(" ");
termsMap.put(temp[0], Integer.parseInt(temp[1]));
}
LocalDate now = LocalDate.parse(today, dateTimeFormatter);
List<Integer> answer = new ArrayList<>();
for (int i = 0; i < privacies.length; i++) {
String[] temp = privacies[i].split(" ");
LocalDate privacyDateTime = LocalDate.parse(temp[0], dateTimeFormatter).plusMonths(termsMap.get(temp[1]));
if (now.isAfter(privacyDateTime) || now.isEqual(privacyDateTime)) {
answer.add(i + 1);
}
}
return answer.toArray(new Integer[0]);
}
}
공원 산책 (연습문제) (0) | 2023.04.28 |
---|---|
달리기 경주 (연습문제) (0) | 2023.04.28 |
추억 점수 (연습문제) (0) | 2023.04.28 |
마법의 엘리베이터 (연습문제) (0) | 2023.01.03 |
유사 칸토어 비트열 (연습문제) (0) | 2023.01.02 |
댓글 영역