인프런 커뮤니티 질문&답변

김연수님의 프로필 이미지
김연수

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

24. Jolly Jumpers

절반은 맞고 절반은 틀립니다.

작성

·

228

0

안녕하세요 강사님. 방금 전 연속 부분 증가수열을 풀었던 방식으로 졸리 점퍼 문제를 풀어봤습니다. 마찬가지로 i와 i+1의 관계에 집중해서 문제를 풀어봤고, 1부터 n-1의 합과 abs(a[i + 1] - a[i]);를 비교해보았습니다.

절반은 맞고 절반은 틀립니다.. 반드시 강사님처럼 pre와 now 변수를 이용해 풀어야 하는것인가요?

https://gist.github.com/k3kys/9c33f6da1b4f473cb1df5725c1105170

답변 2

0

제가 abs를 했을 때에는 문제 없이 잘 풀렸습니다 

아래 코드를 올려드리겠습니다

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

using namespace std;

int arr[101];

int unf[101];

int res = 0,cnt=1;

int mmax = 0;

int main()

{

    int n, m;

    cin >> n;

    for (int i = 0; i < n; i++)

    {

        cin >> arr[i];

    }

    for (int i = 1; i < n; i++)

    {

        res = arr[i - 1];

        cnt = abs(res - arr[i]);

        if (cnt < n)

        {

            unf[cnt] = 1;

        }

    }

    for (int i = 1; i < n; i++)

    {

        if (unf[i] == 0)

        {

            cout << "NO";

            return 0;

        }

    }

    cout << "YES";

    

}

위와 같이 O(n)으로 abs를 이용해 해결 가능합니다

5번 오류같은 경우는 배열을 101정도로 작게 선언해서 그런 걸로 보이고 다른 건 모르겟네요..

참고바랍니다

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

깃허브가 연결이 안되네요ㅠㅠ

김연수님의 프로필 이미지
김연수

작성한 질문수

질문하기