반응형
Q. 강 위에 1초마다 나뭇잎이 무작위로 떨어지는데, 개구리가 그걸 밟고 강 반대쪽으로 넘어가는 것이
가능해 지는 가장 빠른 시간을 구해라. 1 ~ N 까지 모든 지점에 나뭇잎이 떨어져야 건널 수 있다.
(영어 실력이 미천하여 잘 못 해석 했을 수도 있다....)
A = {1, 3, 1, 4, 2, 3, 5, 4}
X = 5
A. 6
import java.util.HashSet;
class Solution {
public int solution(int X, int[] A) {
// write your code in Java SE 8
boolean target = false;
boolean done = false;
int stepCnt = 0;
int timeCnt = 0;
HashSet<Integer> chkSet = new HashSet<Integer>();
for(int i : A){
if(i == X) target = true;
if(!chkSet.contains(i)){
chkSet.add(i);
stepCnt++;
}
if(target & stepCnt == X){
done = true;
break;
}
timeCnt++;
}
if(!done) timeCnt = -1;
return timeCnt;
}
}
class Solution {
public int solution(int X, int[] A) {
// write your code in Java SE 8
boolean target = false;
boolean done = false;
int stepCnt = 0;
int timeCnt = 0;
HashSet<Integer> chkSet = new HashSet<Integer>();
for(int i : A){
if(i == X) target = true;
if(!chkSet.contains(i)){
chkSet.add(i);
stepCnt++;
}
if(target & stepCnt == X){
done = true;
break;
}
timeCnt++;
}
if(!done) timeCnt = -1;
return timeCnt;
}
}
반응형
댓글