ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 순열 검사
    프로그래머스(Programmers) 2018. 8. 20. 09:19
    반응형


    1. 문제


    길이가 n인 배열에 1부터 n까지 숫자가 중복 없이 한 번씩 들어 있는지를 확인하려고 합니다.

    1부터 n까지 숫자가 중복 없이 한 번씩 들어 있는 경우 true를, 아닌 경우 false를 반환하도록 함수 solution을 완성해주세요.


    제한사항

    배열의 길이는 10만 이하입니다.

    배열의 원소는 10만 이하의 자연수입니다.


    입출력 예

    arr result

    [4, 1, 3, 2] true

    [4, 1, 3] false



    입출력 예 설명


    입출력 예 #1

    입력이 [4, 1, 3, 2]가 주어진 경우, 배열의 길이가 4이므로 배열에는 1부터 4까지 숫자가 모두 들어 있어야 합니다. [4, 1, 3, 2]에는 1부터 4까지의 숫자가 모두 들어 있으므로 true를 반환하면 됩니다.


    입출력 예 #2

    [4, 1, 3]이 주어진 경우, 배열의 길이가 3이므로 배열에는 1부터 3까지 숫자가 모두 들어 있어야 합니다. [4, 1, 3]에는 2가 없고 4가 있으므로 false를 반환하면 됩니다.



    2. 알고리즘

    키워드 - 구현


    3. 코드


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #include <vector>
    #include <iostream>
    #include <algorithm>
    using namespace std;
     
    bool solution(vector<int> arr)
    {
        bool answer = true;
     
        sort(arr.begin(), arr.end());
        
        const int size = arr.size();
        for(int i=1; i<size; i++) {
            if(!(arr[i-1]+== arr[i])) {
                answer = false;
            }
        }
        return answer;
    }
    cs



    반응형

    '프로그래머스(Programmers)' 카테고리의 다른 글

    Level 1 > 자릿수 더하기  (0) 2018.08.20
    나머지 한 점  (0) 2018.08.20
    Level 2 > 땅따먹기  (0) 2018.08.20
    Level 1> 서울에서 김서방 찾기  (0) 2018.08.08
    Level 1 > 문자열 다루기 기본  (0) 2018.08.08

    댓글

Designed by Tistory.