soo 문제집 그리디 easy 문제 중 68문제를 풀었고, 그중 힌트를 참고한 문제 및 정리하기 위해 해당 글을 작성합니다.
| 문제번호 | 제목 | 난이도 |
|---|---|---|
| 1817번 | 짐 챙기는 숌 | 실버 5 |
| 20937번 | 떡국 | 실버 4 |
| 1499번 | 수리공 항승 | 실버 3 |
| 2872번 | 우리집엔 도서관이 있어 | 실버 1 |
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
if(n > 0){
st = new StringTokenizer(br.readLine());
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
int count = 1;
int now = 0;
for (int i = 0; i < n; i++) {
if(now + arr[i] > m){
now = arr[i];
count++;
}else{
now += arr[i];
}
}
bw.write(count+"");
}else{
bw.write("0");
}
br.close();
bw.close();
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
int count = 1;
Arrays.sort(arr);
int ans = 1;
for (int i = 1; i < n; i++) {
if(arr[i] == arr[i-1]){
count++;
ans = Math.max(ans, count);
}else{
count = 1;
}
}
bw.write(ans+"");
br.close();
bw.close();
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int l = Integer.parseInt(st.nextToken());
int[] arr = new int[n];
st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
int range = (int) (arr[0] - 0.5 + l);
int ans = 1;
for (int i = 1; i < n; i++) {
if(range < (int)(arr[i]+0.5)){
range = (int)(arr[i]- 0.5 + l);
ans++;
}
}
bw.write(ans+"");
br.close();
bw.close();
}
}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
int pivot = n;
for (int i = n-1; i >= 0; i--) {
if(pivot == arr[i]){
pivot--;
}
}
bw.write(pivot+"");
br.close();
bw.close();
}
}