46일차 - 알고리즘(완전 탐색), LocalDateTime 연산
https://school.programmers.co.kr/learn/courses/30/lessons/42840
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
완전 탐색(Brute force)
모든 경우의 수를 시도하여 정답을 찾는 알고리즘
확실하게 정답을 찾을 수 있지만, 효율성은 떨어진다.
너비 우선 탐색(BFS), 깊이 우선 탐색(DFS)도 완전 탐색의 한 종류이다.
문제 풀이
https://yurison.tistory.com/237
[프로그래머스/자바] 모의고사
import java.util.ArrayList; import java.util.List; class Solution { public int[] solution(int[] answers) { int[] student1 = {1, 2, 3, 4, 5}; int[] student2 = {2, 1, 2, 3, 2, 4, 2, 5}; int[] student3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; int[] score = {0, 0, 0}
yurison.tistory.com
LocalDateTime 연산
LocalDateTime.now() : 현재 시스템 시간
Plus 연산
plusYears(long years) : 연도 추가
plusMonths(long months) : 월 추가
plusWeeks(long weeks) : 주 추가
plusDays(long days) : 일 추가
plusHours(long hours) : 시 추가
plusMinutes(long minutes) : 분 추가
plusSeconds(long seconds) : 초 추가
plusNanos(long nanos) : 나노초 추가
Minus 연산
minusYears(long years) : 연도 빼기
minusMonths(long months) : 월 빼기
minusWeeks(long weeks) : 주 빼기
minusDays(long days) : 일 빼기
minusHours(long hours) : 시 빼기
minusMinutes(long minutes) : 분 빼기
minusSeconds(long seconds) : 초 빼기
minusNanos(long nanos) : 나노초 빼기
LocalDateTime now = LocalDateTime.now();
LocalDateTime plusNow = now.plusYears(5); // 현재 시간에서 5년 뒤의 시간
LocalDateTime minusNow = now.minusHours(10); // 현재 시간에서 10시간 전의 시간
LocalDateTime 비교하기
A.isAfter(B) : A가 B보다 미래 시간이면 true
A.isBefore(B): A가 B보다 과거 시간이면 true
A.isEqual(B) : A와 B가 같은 시간이면 true
A.compareTo(B)
- A가 B보다 미래 시간이면(A>B) 1
- A가 B보다 과거 시간이면(A<B) -1
- A와 B가 같은 시간이면 0
LocalDateTime a = LocalDateTime.of(2023, 4, 1, 0, 0, 0);
LocalDateTime b = LocalDateTime.of(2023, 4, 1, 10, 0, 0);
System.out.println(a.compareTo(b)); // -1 출력
// 응용하기
if(a.compareTo(b) < 0) {
... // a.compareTo(b)의 값은 -1 이므로 true, 해당 내용이 수행된다.
}