본문 바로가기

개인공부(c++)

[C/C++] 그리디 알고리즘 문제풀이 1

 

16435 스네이크버드

 

수요일은 알바하는 날이라 문제 업로드를 못했다.. 오늘도 귀찮아서 자기 전에 끄적끄적 올리고 있는데 열심히 해야지

운동한다고 힘이 쭉쭉 빠진다 기운이 읍네 읍어

쉬운 문제고 난이도는 실버5정도라고 한다. 제출 수도 적어서 안풀까 했는데 그냥 올리는 문제

 

#include <iostream>
#include <algorithm>

using namespace std;

int main(){
	int N, L;
	
	cin >> N >> L;
	
	int arr[N];
	
	for(int i=0; i<N; i++)
		scanf("%d", &arr[i]);
	
	sort(arr, arr+N);
	
	if(L < arr[0])
		cout << L;
	else{
		for(int i=0; i<N; i++){
			if(L >= arr[i])
				L++;
		}
		cout << L;
	}
}

 

배열을 입력받아서 sort로 정렬해주고 스네이크버드가 자신보다 짧거나 작은 높이에 있는 먹이를 먹으면 무조건 1씩 성장하기 때문에 순차적으로 올라가면서 일일이 더해줘야 한다. 다른 특이점은 없었음

 

'개인공부(c++)' 카테고리의 다른 글

[C/C++]백준 4796_캠프, 그리디 알고리즘  (0) 2022.09.27
[C/C++] STL sort()  (0) 2022.09.27
[c/c++] 백준 1978_소수 찾기  (1) 2022.09.20
[c/c++] 백준 10757_큰수 A+B  (1) 2022.09.16