Codility FrogRiverOne

1. Codility FrogRiverOne

1.1. 컴퓨팅적 사고

해당 문제는 개구리가 강 반대편으로 점프할 수 있는 가장 빠른 시간을 찾아야 합니다. 즉, 1-X까지의 값이 모두 주여졌을때의 현재 인덱스값을 반환하면 되는 문제였습니다.

  1. set을 사용하여 모든 개구리가 점프하는 시간들을 담아줍니다.
  2. 시간들이1-X까지의 값 즉, set.size()값이 같은경우에 현재 해당하는 idx값을 리턴시켜줍니다.

처음에 문제를 제대로 이해를 하지못하여 시간을 쓴 문제였습니다…

1.2. 소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class FrogRiverOne_lesson04 {
public static void main(String[] args) {
solution(5, new int[]{1,3,1,4,2,3,5,4});
}
static int solution(int X, int[] A) {

Set<Integer> s = new HashSet<>();
int answer = -1;
for(int i=0; i<A.length; i++){
s.add(A[i]);
if(s.size() == X){
answer = i;
break;
}
}
System.out.println(answer);
return answer;
}
}