오늘 문제의 키워드: 우선순위 큐
우선순위 큐를 잘 쓸 줄 알아야 하고,
String 구현을 잘 해야 빠르게 풀 수 있다.
다음에 다시 한 번 더 풀어보자.
문제 접하고 나서...
앞으로 String을 사용한 구현 문제를 매일 한 문제씩 풀어봐야겠다.
아, 그리고 Kotlin 연습도 잊지 말 것.
더보기
주저리
문제를 읽다 보니 내가 모르는 지식이 내 설계를 방해하는 기분이 들어서, 다른 사람들의 풀이를 읽어보았다.
아니나 다를까 설계는 내가 생각한 대로였고 내가 내장 함수를 잘 몰라서 생기는 거였다.
아, 다음에 이렇게 함수를 모르는 일이 생기면 Java 공식 문서에서 해결해 봐야겠다.
☑️ 복습
Java
- PriorityQueue의 default는 최솟값이 최상단에 있는 것이다. 최댓값을 최상단으로 하고자 한다면 별도의 작업이 필요하다.
PriorityQueue<Integer> minPriorityQ = new PriorityQueue<>();
PriorityQueue<Integer> maxPriorityQ = new PriorityQueue<>(Collections.reverseOrder());
Android
- BoxWithConstraints를 사용하니 비율로 여백을 줄 수 있었다.
- dp = pixel / density(기본 160dpi / 단말 dpi)
- Jetpack Compose에서 viewModel이 인자로 있다면, Preview가 보이지 않는다.
- 그렇기 때문에, viewModel을 인자로 받는 composable 함수와 그 함수 내에 viewModel의 변수와 viewModel 함수를 인자로 넣는 composable 함수를 작성해야 한다.
- 그렇게 작업해준 다음에 Preview 함수 인자에는 viewModel과 관련된 코드가 없어야 한다. (근데 히스토리를 모르는 인자에 값 넣어주는 것도 쉽지는 않더라. 특히 인자가 복잡한 객체라면....)
- 만약 viewModel의 함수를 인자로 사용해야 한다면, 아래와 같이 코드를 작성하면 된다.
onClick1 = viewModel::function1() // () -> Unit
onClick2 = { param1 -> viewModel.function2(param1) } // (param 타입) -> Unit
'TIL (Today I Learned)' 카테고리의 다른 글
99클럽 코테 스터디 12일차 TIL + 오늘의 학습 키워드 (0) | 2024.08.03 |
---|---|
99클럽 코테 스터디 11일차 TIL + 오늘의 학습 키워드 (0) | 2024.08.01 |
99클럽 코테 스터디 9일차 TIL + 오늘의 학습 키워드 (0) | 2024.07.31 |
99클럽 코테 스터디 8일차 TIL + 오늘의 학습 키워드 (0) | 2024.07.29 |
99클럽 코테 스터디 7일차 TIL + 오늘의 학습 키워드 (0) | 2024.07.29 |