PermCheck
배열을 이용한 문제풀이
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;
}
}