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 |
29 | 30 |
Tags
- 구현
- JavaScript
- 트리
- 그리디
- 맵
- 정렬
- DP
- 13164
- 문자열
- 세그먼트 트리
- 이분 탐색
- 플로이드-워셜
- Python
- 수학
- 브루트포스
- 정수론
- 싸피
- BFS
- 투 포인터
- 슬라이딩 윈도우
- 그래프
- 해시 테이블
- 에라토스테네스의 체
- boj
- DFS
- 모던 JavaScript 튜토리얼
- 누적 합
- 2357
- SSAFY
- 애드 혹
Archives
- Today
- Total
흙금이네 블로그
[BOJ] 19582 - 200년간 폐관수련했더니 PS 최강자가 된 건에 대하여 (Python, JavaScript) 본문
아이디어
그리디 알고리즘으로 참가할 수 없는 대회가 1개 이하인지 확인한다.
풀이 #1 (Python)
total에는 현재까지 모은 상금 합을 저장하고, max_p에는 현재까지의 상금 최댓값을 저장한다.
상금 합이 상금 상한을 넘기면 flag 값을 1로 저장하고 상금이 max_p인 대회에 참가하지 않았던 것으로 한다.
만약 max_p를 뺀 상금 합이 상금 상한을 넘기면 flag 값을 2로 저장하고 해당 대회에 참가하지 않은 것으로 한다.
두 번 이상 상금 상한을 넘기면 flag 값이 1이면서 max_p를 뺀 상금 합도 상한을 넘기는 경우나
flag 값이 2인 경우 참가할 수 없는 대회 수가 2개 이상이 된다.
import sys
input = sys.stdin.readline
def solution():
N = int(input())
total = max_p = flag = 0
for _ in range(N):
x, p = map(int, input().split())
if total > x:
if flag == 2 or flag and total-max_p > x:
print('Zzz')
return
if total-max_p > x:
flag = 2
continue
flag = 1
total += p
if p > max_p:
max_p = p
print('Kkeo-eok')
solution()
풀이 #2 (JavaScript)
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');
function solution() {
const N = Number(input[0]);
let total = maxP = flag = 0;
for (let i=1; i<=N; i++) {
const [x, p] = input[i].split(' ').map(Number);
if (total > x) {
if (flag == 2 || flag && total-maxP > x) {
console.log('Zzz');
return;
}
if (total-maxP > x) {
flag = 2;
continue;
}
flag = 1;
}
total += p;
if (p > maxP) maxP = p;
}
console.log('Kkeo-eok');
}
solution();
'알고리즘' 카테고리의 다른 글
[BOJ] 14476 - 최대공약수 하나 빼기 (Python, JavaScript) (0) | 2023.05.10 |
---|---|
[BOJ] 11689 - GCD(n, k) = 1 (Python, JavaScript) (0) | 2023.05.09 |
[BOJ] 1415 - 사탕 (Python, JavaScript) (0) | 2023.05.08 |
[BOJ] 2208 - 보석 줍기 (Python, JavaScript) (0) | 2023.05.08 |
[BOJ] 2412 - 암벽 등반 (Python, JavaScript) (0) | 2023.05.07 |
Comments