본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 2847/c++] 게임을 만든 동준이

by tokkiC 2022. 7. 9.

if 인접한 바로 앞의 단계가 바로 뒤의 단계보다 크거나 같다면

그 앞의 단계에서 그 뒤 단계를 뺀 수 -1 만큼의 수만큼은 빼줘야 앞의 단계 점수가 뒤 단계 점수보다 낮다

이걸 뒤에서부터 하나씩 반복해서 앞까지 진행해주면 되는 그리디 문제였다

https://www.acmicpc.net/problem/2847

 

2847번: 게임을 만든 동준이

학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;

int main(){
	
	int n,p;
	int arp[104]={0,};
	int cnt=0;
	int dif=0;
	
	cin >> n;
	
	for(int i=0; i<n; i++){
		cin >> p;
		arp[i]=p;
	}
	
	for(int i=n-2; i>=0; i--){
		if(arp[i]>=arp[i+1]){
			dif=arp[i]-arp[i+1]+1;
			cnt+=dif;
			arp[i]-=dif;
			dif=0;
		}
	}
	cout << cnt << "\n";
	
	return 0;
}

댓글