본문 바로가기
알고리즘

leetcode 239. Sliding Window Maximum

by kcj3054 2021. 8. 15.

슬라이딩 윈도우 ?

너비를 동일하게 하면서 한쪽 방향으로 이동하면서 그 너비 안에서 탐색 하는 것이다.

투포인터 vs 슬라이딩 윈도우

투포인터 :

  1. 정렬이 되어야한다
  2. 서로 좁혀진다
  3. 간격이 일정하지 않아도된다

슬라이딩 :
1.정렬 안되어도 된다,
2. 간격이 일정
3. 한방향으로 이동

슬라이딩 윈도우문제 틀린부분

이문제랑 아주 유사한 문제를 코테에서쳤었다..

무슨 문제인지 몰랐지만 찾아보니 아주 비슷한 릿코드에 있길래 풀어봤다

시험에서도 시간초과가 발생했지만 여기서도 발생 !

하지만 시간을 놓고 고민 하다 보니 잘못된 점을 발견했다.

for문안의 for문에서 범위 조절이 실패해서 터졌던거 같다..

 vector<int> maxSlidingWindow(vector<int>& nums, int k) {

        vector<int> v;

        int _len = nums.size();
        for(int i = 0 ; i < _len - k + 1; ++i) {

            int tmp = 0;
            for(int j = i; j < i + k; ++j) {
                if(nums[j] > tmp) tmp = nums[j];
            }
            v.push_back(tmp);
        }
        return v;
    }

안쪽 포문에서 j가 i번째부터 도는데 ... k개씩 봐야하기에 j < i + k로 조건을 설정 했었어야 했는데 이부분에서 오류가 있었던 것같다.

'알고리즘' 카테고리의 다른 글

순열과 조합 (로또 : 6603) 백준  (0) 2021.08.23
leetcode , Sliding Window Maximum  (0) 2021.08.19
백준 가장 긴 증가하는 부분 수열 4 14002  (0) 2021.08.10
백준 9251 lcs  (0) 2021.08.09
백준 11066 파일합치기  (0) 2021.08.04