2번 코드 풀이

문제 풀이 1
#include<vector>
using namespace std;

int chk[100001] = {0};
bool solution(vector<int> arr)
{
    int n = arr.size();
    for(int i=0; i<n; ++i)
    {
        if(arr[i] < 1 || arr[i] > n)
            return false;
        chk[arr[i]]++;
    }
    for(int i=1; i<=n; ++i)
        if(chk[i] != 1)
            return false;
    return true;
}
문제 풀이 2
#include<vector>
#include<algorithm>
using namespace std;

bool solution(vector<int> arr)
{
    sort(arr.begin(), arr.end());
    for (int i = 0; i < arr.size(); ++i)
    {
        if(arr[i] != i+1)
            return false;
    }
    return true;
}