배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다.
이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다.
단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다.
예를 들면,
arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.
arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.
배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요.
제한사항
배열 arr의 크기 : 1,000,000 이하의 자연수
배열 arr의 원소의 크기 : 0보다 크거나 같고 9보다 작거나 같은 정수
입출력 예
arr | answer |
---|---|
[1,1,3,3,0,1,1] | [1,3,0,1] |
[4,4,4,3,3] | [4,3] |
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
ArrayList<Integer> answerList = new ArrayList<Integer>();
//
int value = -1;
for(int i=0; i<arr.length; i++) {
if(arr[i] != value) {
answerList.add(arr[i]);
value = arr[i];
}
}
return answerList.stream().mapToInt(i->i).toArray();
}
}
정확성 테스트
테스트 1 〉 통과 (1.80ms, 75.9MB)
테스트 2 〉 통과 (1.93ms, 76.9MB)
테스트 3 〉 통과 (1.97ms, 70.5MB)
테스트 4 〉 통과 (1.79ms, 76.8MB)
테스트 5 〉 통과 (2.62ms, 83.2MB)
테스트 6 〉 통과 (2.68ms, 78.2MB)
테스트 7 〉 통과 (1.76ms, 76.4MB)
테스트 8 〉 통과 (1.90ms, 77.4MB)
테스트 9 〉 통과 (2.12ms, 73.9MB)
테스트 10 〉 통과 (1.83ms, 70.4MB)
테스트 11 〉 통과 (2.27ms, 75.4MB)
테스트 12 〉 통과 (2.80ms, 74.6MB)
테스트 13 〉 통과 (2.58ms, 79.4MB)
테스트 14 〉 통과 (2.92ms, 82.3MB)
테스트 15 〉 통과 (1.88ms, 84.8MB)
테스트 16 〉 통과 (2.23ms, 78.3MB)
테스트 17 〉 통과 (2.23ms, 74.6MB)
효율성 테스트
테스트 1 〉 통과 (35.43ms, 125MB)
테스트 2 〉 통과 (39.64ms, 125MB)
테스트 3 〉 통과 (30.69ms, 139MB)
테스트 4 〉 통과 (37.03ms, 127MB)
채점 결과
정확성: 71.9
효율성: 28.1
합계: 100.0 / 100.0