백준 2874 c++

magicdrill·2024년 3월 1일

백준 문제풀이

목록 보기
70/675

백준 2874 c++

수행시간이 1초로 짧기 때문에 이중반복문을 안 쓰는 방향으로 풀어보았다.

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void input_info(vector <int>& level)
{
	int N, temp;
	int i;

	cin >> N;
	for (i = 0; i < N; i++)
	{
		cin >> temp;
		level.push_back(temp);
	}

	return;
}

void find_answer(vector <int> level)
{
	int size = level.size() - 1;
	int count = 0;

	//이중 반복문 사용 안하고...
	while (size > 0)
	{
		if (level[size] <= level[size - 1])
		{
			level[size - 1]--;
			count++;
		}
		else
		{
			size--;
		}
	}
	cout << count << "\n";

	return;
}

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	vector <int> level;

	input_info(level);
	find_answer(level);

	return 0;
}

0개의 댓글