2828 - 사과 담기 게임

재찬·2023년 1월 27일
0

Algorithm

목록 보기
23/64

문제

코드

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

int main(){
	int n, m, a, temp;
	int r, l;
	int ret = 0;
	
	cin >> n >> m;
	cin >> a;
	
	l = 1;
	
	for(int i = 0; i < a; i++){
		r = l + m -1;
		cin >> temp;
		
		if(temp >= l && temp <= r) continue;
		
		else if(temp < l){
			ret += l - temp;
			l = temp;
		}
		
		else if(temp > r){
			ret += temp - r;
			r = temp;
			l = r - m +1;
		}
		
	}
	
	cout << ret << '\n';
	return 0;
}

풀이 과정

결과

후기

풀고 나서 보면 쉬은데 생각하기 어려웠던 부분이 있었다.
"바구니가 몇 칸을 차지한다."의 생각이 조금 어려웠다.
무작정 배열로 생각해서 인덱스를 이동시켜 보려고 했는데 정말 간단하게 수로 생각해도 풀릴 수 있는 문제였다.
무조건 정해진 방식은 없다고 생각하고 문제를 해결해야겠다고 느꼈다.

0개의 댓글