본문 바로가기

C++/코드트리

[코드트리] 훌륭한 점프

https://www.codetree.ai/missions/5/problems/great-jump?&utm_source=clipboard&utm_medium=text 

 

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

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

www.codetree.ai

 

내가 작성한 방식과 해설이 조금 다르던데 해설 부분도 확인해보고 참고 해봐야겠다.

문제를 이해하는게 쉽지 않았다.. 요즘 코드 짜는거나 해결도 해결인데, 문제 이해가 어렵다 ..!

#include <iostream>
#include <algorithm>
using namespace std;
int n, k, map[100];

bool isCan(int index){
    int cnt = 0, temp[100] = {0, };
    for(int i=0; i<n; i++){
        if(map[i] <= index){
            temp[cnt++] = i;
        }
    }
    for(int i=1; i<cnt; i++){
        int dis = temp[i] - temp[i-1];

        if(dis > k)
            return false;
    }
    return true;
}
int main() {
    cin >> n >> k;
    for(int i=0; i<n; i++)
        cin >> map[i];
    
    int answer = 21e8;
    for(int i=100; i>=max(map[0], map[n-1]); i--){
        if(isCan(i))
            answer = min(answer, i);
    }

    cout << answer;
    return 0;
}