Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- string
- Stack
- Data Structure
- 파이썬
- java
- hash table
- 자바
- two pointers
- greedy
- 구현
- sorting
- Binary Search
- Tree
- SQL
- geometry
- Method
- Class
- array
- 코딩테스트
- bit manipulation
- 코테
- Binary Tree
- database
- Matrix
- simulation
- Math
- implement
- Counting
- dynamic programming
- Number Theory
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 2409. Count Days Spent Together 본문
1. Input
1) String arriveAlice
2) String leaveAlice
3) String arriveBob
4) String leaveBob
2. Output
1) Alice는 [arriveAlice, leaveAlice]동안 로마에 있고, Bob은 [arriveBob, leaveBob]동안 로마에 있다. 둘이 동시에 로마에 있는 날 수를 반환
3. Constraint
1) 날짜 형식은 모두 "MM-DD"이다.
2) Alice와 Bob은 로마에 도착한 날 당일에 로마를 출발하지 않았다.
3) 날짜는 모두 같은 연도의 날짜이기 때문에 윤년을 따질 필요가 없다.
4) 2월은 28일까지 있다.
4. Example
Input: arriveAlice = "08-15", leaveAlice = "08-18", arriveBob = "08-16", leaveBob = "08-19" -> Output: 3
Input: arriveAlice = "10-01", leaveAlice = "10-31", arriveBob = "11-01", leaveBob = "12-31" -> Output: 0
설명:
- 함께 로마에 있던 날짜는 8월 16, 17, 18일 총 3일이다.
- Alice가 떠난 다음날부터 Bob이 로마에 있었기 때문에 둘이 함께 있던 날은 없다.
5. Code
1) 첫 코드(2023/06/23)
class Solution {
public int countDaysTogether(String arriveAlice, String leaveAlice, String arriveBob, String leaveBob) {
int[] days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
String[] date = {arriveAlice, leaveAlice, arriveBob, leaveBob};
int[] count = new int[4]; // days of aA, lA, aB, lB
for(int i=0 ; i<4 ; i++){
String[] md = date[i].split("-");
int month = Integer.valueOf(md[0]);
count[i] = Integer.valueOf(md[1]);
for(int j=0 ; j<month-1 ; j++)
count[i] += days[j];
}
if(count[0]<=count[2]) { // Alice -> Bob
return Math.max(Math.min(count[1],count[3])-count[2]+1,0);
} else{ // Bob -> Alice
return Math.max(Math.min(count[1],count[3])-count[0]+1,0);
}
}
}
- 47%, 56%
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 2331. Evaluate Boolean Binary Tree (0) | 2023.06.26 |
---|---|
[LeetCode/Easy] 2309. Greatest English Letter in Upper and Lower Case (0) | 2023.06.26 |
[LeetCode/Easy] 2404. Most Frequent Even Element (0) | 2023.06.22 |
[백준 온라인 저지] 2558. A+B - 2 (0) | 2023.06.22 |
[백준 온라인 저지] 2577. 숫자의 개수 (0) | 2023.06.22 |