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 |
Tags
- livedata
- TEST
- pandas
- Coroutine
- Hilt
- Kotlin
- 백준
- Gradle
- Python
- Coroutines
- architecture
- 코드포스
- boj
- 암호학
- ProGuard
- activity
- 프로그래머스
- Codeforces
- Compose
- androidStudio
- MiTweet
- 코루틴
- 쿠링
- textfield
- AWS
- relay
- GitHub
- Rxjava
- MyVoca
- android
Archives
- Today
- Total
이동식 저장소
17619. 개구리 점프 본문
1개월 반만에 백준 문제를 풀어 보았다.
조건을 자세히 읽어 보면, 다음을 관찰할 수 있다.
1. 점프할 때 다른 통나무를 건너뛸 수 없다고 적혀 있지만, 건너뛰는 통나무에 내렸다가 가면 되기 때문에 의미없는 조건이다.
따라서 세로 좌표는 의미가 없고, 가로로만 겹쳐 있으면 이동할 수 있다고 간주해도 좋다.
2. 두 통나무 $A$와 $B$($A.x_{1} \le B.x_{1}$)가 있을 때, $A$와 $B$가 가로로 겹칠 조건은 $B.x_{1} \le A.x_{2}$이다.
3. $A$와 $B$가 겹친다면, $A$와 $B$를 하나의 통나무로 간주해도 된다. 앞서 말했듯이 $y$는 의미가 없기 때문.
1, 2, 3을 조합하여 문제를 해결해 보자.
우선 통나무를 $x_{1}$의 오름차순으로 정렬한 후(정렬할 때 $y$는 신경쓰지 않아도 된다), 앞에서부터 자신과 겹치는 통나무를 같은 그룹으로 합친다. 다음 통나무가 겹치지 않는다면 탐색을 종료한다.
그 다음 통나무부터는 다른 그룹으로 합치면 된다.
오랜만에 풀어서 그런지 구현할 때 약간 버벅였다;;
'Problem Solving > BOJ' 카테고리의 다른 글
1022. 소용돌이 예쁘게 출력하기 (0) | 2024.02.01 |
---|---|
12920. 평범한 배낭 2 (1) | 2023.07.30 |
26607. 시로코와 은행털기 (0) | 2023.07.29 |
2094. 강수량 (0) | 2023.06.14 |
14922. 부분평균 (0) | 2023.05.02 |
Comments