배열을 이용한 문제풀이

PermCheck
이번 문제는 처음으로 내가 짠 코드가 100%를 기록했다.
사실 문제 자체가 MissingInteger랑 비슷해서 금방 풀었는데
결과가 100%로 나오니까 기분이 진짜 좋았다 :)

문제를 요약해보자면
주어진 배열 A가 순열인지 체크하는 문제였다.

내가 푼 방식은 Boolean으로 된 배열 하나를 선언하고 A원소들을 인덱스를 이용해 true값으로 채우는 것이었다.

문제에서 예시로든 A배열의 원소가 A의 길이보다 클 경우에
순열이 될수 없기 때문에 바로 0을 반환하는 코드를 추가할수 있었다. 운이 좋았다 :)

class Solution {
    public int solution(int[] A) {
        // write your code in Java SE 8
        boolean check[] = new boolean[A.length+1];
        
        
        for (int i=0 ; i<A.length; i++){
            if(A[i] > A.length){
                return 0;
            }
            check[A[i]] = true;
            
        }
        
        for (int i=1 ; i<check.length ; i++){
            if( check[i] == false ){
                return 0;
            }
        }
        return 1;
        
        
    }
}