728x90
반응형
2024.08.08기준 - 실버4
728x90
백준, BEAKJOON, BOJ, JAVA, 자바
풀이
이 문제는 준원이가 자신을 제외한 모든 플레이어를 잡을 수 있다면 "Yes"를 아니라면 "No"를 출력하는 문제입니다.
접근 방법
- 준원이가 최대로 성장할 수 있는 공격력은 100000000000000 이기 때문에 long으로 변수 설정을 해주었습니다.
- 입력받은 다른 플레이어의 공격력을 오름차순으로 정렬을 해주었습니다.
- 정렬을 한 공격력을 앞에서 부터 준원이 보다 작다면 준원이 공격력에 더해줍니다.
- 상대의 공격력이 같거나 크다면 작은 공격력을 다 먹어서 더 이상 성장을 할 수 없기 때문에 No를 출력하면서 멈춰줍니다.
1. 입력받은 플레이어의 공격력을 오름차순으로 정렬을 해줍니다.
long junwon = Long.parseLong(st.nextToken());
long[] num = new long[n - 1];
for (int i = 0; i < n - 1; i++) {
num[i] = Long.parseLong(st.nextToken());
}
// 오름차순으로 정렬
Arrays.sort(num);
2. 반복문을 통해 준원이가 잡을 수 있다면 공격력을 더 해주고 아니라면 멈춰줍니다.
for (int i = 0; i < n - 1; i++) {
// 작으면 적을 잡아 준원이의 공격력이 커진다.
if (junwon > num[i]) {
junwon += num[i];
// 같거나 크다면 성장할 수 있는 수단이 없기 때문에 무조건 No
} else {
sb.append("No");
break;
}
}
3. 준원이가 다른 플레이어를 다 잡았다면 Yes를 출력합니다.
// 전부 다 잡았다면
if (sb.length() == 0) {
sb.append("Yes");
}
코드
package Main;
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));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine()); // 플레이어의 수
StringTokenizer st = new StringTokenizer(br.readLine());
long junwon = Long.parseLong(st.nextToken());
long[] num = new long[n - 1];
for (int i = 0; i < n - 1; i++) {
num[i] = Long.parseLong(st.nextToken());
}
// 오름차순으로 정렬
Arrays.sort(num);
for (int i = 0; i < n - 1; i++) {
// 작으면 적을 잡아 준원이의 공격력이 커진다.
if (junwon > num[i]) {
junwon += num[i];
// 같거나 크다면 성장할 수 있는 수단이 없기 때문에 무조건 No
} else {
sb.append("No");
break;
}
}
// 전부 다 잡았다면
if (sb.length() == 0) {
sb.append("Yes");
}
bw.write(sb.toString());
bw.flush();
bw.close();
br.close();
}
}
728x90
반응형
'코딩테스트 일기 (BAEKJOON)' 카테고리의 다른 글
BEAKJOON / 백준 - JAVA 32089번 部員の変遷 (0) | 2024.08.09 |
---|---|
BEAKJOON / 백준 - JAVA 28419번 더하기 (0) | 2024.08.08 |
BEAKJOON / 백준 - JAVA 5430번 AC (0) | 2024.08.08 |
BEAKJOON / 백준 - JAVA 27294번 몇개고? (0) | 2024.08.08 |
BEAKJOON / 백준 - JAVA 11286번 절댓값 힙 (0) | 2024.08.07 |