C++/코드트리

[코드트리 챌린지] 3주차 최대 H 점수 2

sondiaa 2023. 9. 25. 01:30

https://www.codetree.ai/missions/5/problems/maximum-h-score-2?&utm_source=clipboard&utm_medium=text 

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

뭔가 60분 기준 시간내에 생각해내지 못했을 것 같다. 이러한 문제 풀이 방식도 있다는 것을 느꼈고,, 다시 풀 문제리스트에 저장해두었다.

완전탐색인데 앞에서 다 +1을 한 것과 전부 다 +1 해주는 것의 결과값의 차이가 없다는 것을 파악해야 했다.

만약 이것을 놓친다면,, 모든 경우의 수를 다 생각해야 하고 그렇게 작성한다면 시간초과가 날 것 같다(?)

 

 

#include <iostream>
using namespace std;
int n, l, answer, map[100];
int main() {
    cin >> n >> l;
    for(int i=0; i<n; i++)
        cin >> map[i];
    for(int i=1; i<=100; i++){
        int cnt = 0;
        int cntCheck = 0;
        for(int j=0; j<n; j++){
            if(map[j] >= i)
                cnt++;
            else if(map[j] + 1 >= i){
                if(cntCheck < l){
                    cnt++;
                    cntCheck++;
                }
            }
        }
        if(cnt >= i)
            answer = i;
    }

    cout << answer;
    return 0;
}