[Java] 강을 건너는 개구리 (FrogRiverOne)

urzi·2021년 8월 26일
0

코딩테스트

목록 보기
10/20

Type

counting elements

내용

배열 A가 주어지고 배열 원소의 가장 큰 값인 X가 주어진다.
개구리는 X 이하의 숫자가 모두 나올 때에만 강을 건널 수 있다.
숫자가 모두 나오는 시점의 index값을 return한다.
모두 나오지 않으면 -1을 return한다.
Hashset은 중복값은 저장하지 않기 떄문에 Hashset에 담아주고
set의 사이즈와 X가 같아질 때 개구리가 건너는 숫자가 된다.
그때 A의 index값을 리턴하면 몇초만에 개구리가 건너는 지 알 수 있다.
만약 set의 사이즈와 X가 같아지는 경우가 없으면 못 건너는 경우이므로 -1을 리턴한다.

public int solution(int X, int[] A) {

        HashSet<Integer> S = new HashSet<>();
        for (int i = 0; i < A.length; i++) {

            S.add(A[i]);

            if (S.size() == X) {
                return i;
            }
        }

        return -1;
    }
profile
Back-end Developer

0개의 댓글

관련 채용 정보