반응형
11047. 동전 0
import java.util.Scanner;
public class makeZero {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int cnt = 0;
int[] coins = new int[n];
for (int i = 0; i < n; i++) {
coins[i] = sc.nextInt();
}
for (int i = n-1; i >= 0; i--) {
if (coins[i] <= k){
cnt += k / coins[i];
k = k % coins[i];
}
}
System.out.println(cnt);
}
}
1541. 잃어버린 괄호
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class lostBrackets {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
List<String> list = new ArrayList<>();
StringBuilder num = new StringBuilder();
for (char c : s.toCharArray()) {
if (c == '+' || c == '-') {
list.add(num.toString());
list.add(String.valueOf(c));
num.setLength(0);
} else {
num.append(c);
}
}
list.add(num.toString());
int idx = 0;
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals("-")) {
idx = i;
break;
}
}
if (idx == 0) {
int sum = Integer.parseInt(list.get(0));
for (int i = 2; i < list.size(); i += 2) {
sum += Integer.parseInt(list.get(i));
}
System.out.println(sum);
} else {
int firstSum = Integer.parseInt(list.get(0));
for (int i = 2; i < idx; i += 2) {
firstSum += Integer.parseInt(list.get(i));
}
int secondSum = 0;
for (int i = idx + 1; i < list.size(); i += 2) {
secondSum += Integer.parseInt(list.get(i));
}
int result = firstSum - secondSum;
System.out.println(result);
}
}
}
1931. 회의실 배정
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));
int n = Integer.parseInt(br.readLine());
int[][] met_sch = new int[n][2];
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
met_sch[i][0] = Integer.parseInt(st.nextToken()); // 시작시간
met_sch[i][1] = Integer.parseInt(st.nextToken()); // 종료시간
}
// 종료 시간이 빠른 순으로 정렬, 같으면 시작 시간이 빠른 순으로 정렬
Arrays.sort(met_sch, (o1, o2) -> {
if(o1[1] == o2[1]) { // 종료시간이 같을 경우 시작 시간이 빠른 순
return o1[0] - o2[0];
}
return o1[1] - o2[1];
});
int cnt = 0;
int end = 0;
for (int i = 0; i < n; i++) {
if(end <= met_sch[i][0]) {
end = met_sch[i][1];
cnt++;
}
}
System.out.println(cnt);
}
}
반응형
'WINK-(Web & App) > 알고리즘 스터디' 카테고리의 다른 글
[2025 1학기 알고리즘 스터디] 신지은 #4주차 (0) | 2025.05.13 |
---|---|
[2025 1학기 알고리즘 스터디] 남윤찬 #4주차 (0) | 2025.05.12 |
[2025 1학기 알고리즘 스터디] 김민주 #3주차 (0) | 2025.05.07 |
[2025 1학기 알고리즘 스터디] 이서영 #3주차 (0) | 2025.05.07 |
[2025 1학기 알고리즘 스터디] 신지은 #3주차 (0) | 2025.05.07 |