https://www.acmicpc.net/problem/2847
<아이디어>
점수를 최소한으로 내려서 레벨점수를 증가하게 만들어야 하는 문제이다.
이 경우 뒤에서부터 순차적으로 탐색하는 경우 최소한으로 만들 수 있다.
뒤 점수보다 앞 점수가 같거나 크면 뒤 점수보다 1만큼만 작게 만들어줄 때 최소한으로 점수를 감소시키면 된다.
** 1감소가 1점이므로 절댓값으로 계산해주어야 한다
<제출 코드>
package STUDY.Week03;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Day16_BOJ_2847_게임을만든동준이 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
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 cnt = 0;
for(int i=n-1; i>0; i--){
// 앞 점수가 뒤 점수보다 크거나 같으면 뒤 점수보다 1 작게 만들어 줌
if(arr[i-1] >= arr[i]){
int tmp = Math.abs(arr[i-1] - arr[i] + 1);
cnt += tmp;
arr[i-1] -= tmp;
}
}
System.out.println(cnt);
}
}
'코테 > 백준' 카테고리의 다른 글
99클럽 코테 스터디 18일차 TIL 그리디(센서) (0) | 2024.11.14 |
---|---|
99클럽 코테 스터디 17일차 TIL 그리디(밤양갱) (0) | 2024.11.13 |
99클럽 코테 스터디 15일차 TIL 그리디(카드문자열) (0) | 2024.11.12 |
99클럽 코테 스터디 14일차 TIL 그리디(거스름돈) (0) | 2024.11.11 |
99클럽 코테 스터디 13일차 TIL 그리디(고양이는 많을수록 좋다) (1) | 2024.11.10 |