PermMissingElem
Find the missing element in a given permutation.
Task Score
100%
Correctness
100%
Performance
100%
숫자가 1부터 시작하기 때문에 그냥 앞의 수가 뭔지, 뒤의 수가 뭔지 고려할 필요 없이 key 값과 비교하면 된다. 배열은 순서대로 주어지지않기 때문에 먼저 정렬을 해준 뒤 순차적으로 비교를 해준다.
처음 제출했을 때는 정확도가 영 안좋게 나왔었다. 왜인가 했더니 반복문 안에서 당연히 return이 이루어질 거라고 생각하고 맨 밑의 return문을 그냥 return 0;을 했었는데, 반복문을 다 돌아도 값 반환이 이루어지지 않는 경우가 있었다. 바로 1에서 N까지 숫자가 나오는 경우!
나는 당연히 1부터 N+1까지 주어지고, 한 숫자가 빠진다 하니 그 사이의 수가 빠지겠거니 했었다. 1부터 N까지 숫자가 주어지고 마지막 N+1이 빠지는 경우를 고려해주지 못한 것이다. 그래서 마지막 return문을 N+1이 반환되도록 해주었더니 100%를 달성할 수 있었다.
x
// you can also use imports, for example:
import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public int solution(int[] A) {
Arrays.sort(A);
for (int i = 0; i < A.length; i++) {
if (i + 1 != A[i]) return i + 1;
}
return A.length + 1;
}
}
'공부 > algorithm' 카테고리의 다른 글
[codility] FrogRiverOne (0) | 2018.05.23 |
---|---|
[codility] TapeEquilibrium (0) | 2018.05.22 |
[codility] FrogJmp (0) | 2018.05.22 |
[codility] OddOccurrencesInArray (0) | 2018.05.22 |
[codility] CyclicRotation (0) | 2018.05.22 |
댓글