99클럽 코테 스터디 11일차 TIL + 오늘의 학습 키워드 : null코딩테스트 - Java2024. 8. 21. 01:44
Table of Contents
728x90

오늘의 회고
- 오늘의 문제

- 영어로 나와서 깜짝 놀랐다.
하지만 GPT 엉아에게 질문 해석만 받았다.
담부턴 직접 해석해야지,,,
- 정답
import java.util.*;
class Solution {
public int[] findRightInterval(int[][] intervals) {
int[] result = new int[intervals.length];
for(int i = 0; i < intervals.length; i++){
int endi = intervals[i][1];
Integer smallStart = null;
if(intervals[i][0] == intervals[i][1]){
result[i] = i;
continue;
}
int index = -1;
ArrayList<Integer> list = new ArrayList<>();
for(int k = 0; k < intervals.length; k++){
if(i == k){
continue;
}
if(endi > intervals[k][0]){
continue;
}
if(smallStart == null){
smallStart = intervals[k][0];
index = k;
}
if(smallStart >= intervals[k][0]){
smallStart = intervals[k][0];
index = k;
}
}
result[i] = index;
}
return result;
}
}
- 문제가 이해가 가지 않았었는데, 예시를 보고 이해가 되어 생각해보았다.
근데 오랜만이라 그런가 머리가 지끈지끈 했다.
'중첩 for문 쓰면 안될 것 같은디...'
라고 생각했지만 이미 손은 타자를 치고 있었다...
그래도 문제 조건 보니, for문이 적을거 같아서 그냥 했다.
if문을 통해 건너갈 건 언능언능 건너가 주었다.
가장 문제였던 부분은,
endi와 가장 가까운 애를 처음 픽을 해야하고, 또 그것보다 큰 것은 넣으면 안된다는 것때문에
smallStart를 어떻게 줘야할 까 하다가,
null일때만 넣어주고 그 후로부턴 비교를 통해 넣어주자!
라는 생각을 하게 되었다.
그러나, int smallStart = null; 은 에러를 발생시켰고, 난 이거 아니면 안되는데... 좌절하였다.
방법을 찾아보니, Integer 처럼 Wrapper 클래스에는 null 주입이 가능했다.
그렇게 문제 해결!!

1시간이 걸렸지만, 오랜만에 한 것 치고 잘했다 생각한다.
요즘 의지가 없어서 안했는데,
남은 기간 동안 밤에 잠안오니깐 해야쓰겠다..
728x90
'코딩테스트 - Java' 카테고리의 다른 글
| 덧칠하기 - level1 (1) | 2024.09.21 |
|---|---|
| 프로그래머스 코딩테스트 in Java (2) | 2024.09.20 |
| 99클럽 코테 스터디 11일차 TIL + 오늘의 학습 키워드 : 포인터 (0) | 2024.08.01 |
| 99클럽 코테 스터디 6일차 TIL + 오늘의 학습 키워드 : 경우의수 (0) | 2024.07.27 |
| 99클럽 코테 스터디 5일차 TIL + 오늘의 학습 키워드 : Arrays.sort() (0) | 2024.07.26 |
@or-else :: orElse의 팔만대장경
안녕하세요. 성장하고 싶은 개발자 orElse입니다. 지켜봐주세요.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!