반응형
🔺 문제
16435번: 스네이크버드
첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000) 과 스네이크버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다. 두 번째 줄에는 정수 h1, h2, ..., hN (1 ≤ hi ≤ 10,000) 이 주어집니다.
www.acmicpc.net
🔺 코드
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
|
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int N = Integer.parseInt(st.nextToken());
int L = Integer.parseInt(st.nextToken());
int[] A = new int[N];
st = new StringTokenizer(br.readLine(), " ");
for(int i = 0 ; i < N ; i++) {
A[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(A); // 🔔 오름차순 정렬!
for(int i : A) {
if(i <= L)
L++;
}
System.out.println(L);
}
}
|
cs |
✅ 해결 아이디어
✔ 그리디 + 정렬
1) 과일들 배열을 입력받고, 오름차순으로 정렬한다.
2) 과일이 현재 길이 L보다 작거나 같은 높이에 있다면, 현재 길이 L을 1씩 증가시킨다.
💬 느낀 점
우와 이런 그리디 문제만 나오면 좋겠다...
그럼 나처럼 다들 쉽게 맞추시겠지...ㅎㅎㅎ
1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
V |
반응형
'코테 > 백준' 카테고리의 다른 글
[백준/JAVA] 2206번: 벽 부수고 이동하기 (0) | 2023.09.07 |
---|---|
[백준/JAVA] 1522번: 문자열 교환 (0) | 2023.09.07 |
[백준/JAVA] 16987번: 계란으로 계란치기 (0) | 2023.09.06 |
[백준/JAVA] 1448번: 삼각형 만들기 (0) | 2023.09.05 |
[백준/JAVA] 3986번: 좋은 단어 (0) | 2023.09.05 |