본문 바로가기
Self Dev./Codility

[Codility] PermCheck 100%

by 지구 2019. 9. 8.
주 1회 회사 동기들이랑 알고리즘 스터디를 진행하고 있다.
현재 진행하고 있는 스터디는 오프라인 코딩테스트로도 많이 활용하고 있는 Codility.
각자 풀고 자기가 푼 소스를 리뷰하는 형식인데, 뜻 깊고 보람도 있고 참으로 도움이 많이 된다 :)
뛰어나진 않지만 각 단원 별로 100% 만들기 위해 노력 중이고, 기록 및 공유하기 위해 글을 작성한다.

바로가기   >Codility   >PermCheck

 

문제 해석 : 원소값이 순차적으로 연속되는 배열이면 1, 아니면 0을 리턴하는 문제

문제 풀이 : 배열을 정렬하고 for 반복문 돌려서 순차배열인지 확인하도록 코딩했다..

요고 핵심은 배열을 정렬해주는 "Arrays.sort()" 와
배열 원소값이 존재하는지 찾아주는 "Arrays.binarySearch()" 함수 🌝

 

import java.util.*;

class Solution {
    public int solution(int[] A) {
        Arrays.sort(A);
        
        // 배열의 순열여부 담을 변수 선언
        int purmCnt = 0;
        for (int i=1; i<=A.length; i++) {
            /**
             * A 배열에 i 가 존재하는지 판단하는 메소드 (정렬이 되어있어야 함)
             * 존재하지 않으면 -1 리턴, 존재하면 해당 값 리턴
             */
            if (Arrays.binarySearch(A, i) > -1) {
                purmCnt++;
            }
        }
        
        return purmCnt == A.length ? 1 : 0;
    }
}

 

 

반응형

'Self Dev. > Codility' 카테고리의 다른 글

[Codility] PassingCars 100%  (0) 2019.09.08
[Codility] MissingInteger 100%  (0) 2019.09.08
[Codility] TapeEquilibrium 100%  (0) 2019.09.08
[Codility] PermMissingElem 100%  (0) 2019.09.08
[Codility] FrogJmp 100%  (0) 2019.09.08

댓글