같은 숫자는 싫어

https://programmers.co.kr/learn/courses/30/lessons/12906

방법은 간단하다

특정인덱스의 앞 혹은 뒤의 인덱스와 비교해서 다르면 달라진 값만 별도 array에 push하면 된다.

개발 가능한 케이스는 이아래 붙여 둔다.

그런데 효율성 테스트가 말이 안된다. C++ 로 된 답만 통과가 되고 java, javascript는 어떻게 해도 통과가 안된다.

혹시 나처럼 고생한 사람이 있다면, 당신 잘못이 아닌거 같다는 위로의 말을 남긴다.

function solution(arr)
{
    return arr.filter((val,index) => val != arr[index+1]);
}
function solution(arr) {
    return arr.filter((value, index) => value != arr[index-1]);
}
function solution(arr){
    var answer = [];
     var now = arr[0];
     answer.push(now);
     for(var i = 1;i < arr.length; i++){
         if(now !== arr[i]){
            now = arr[i];
             answer.push(now);
         }
     }
     return answer;
 }
 function solution(arr)
 {
    var answer = [];
     // arr.push(-1);

     for(let i = 1; i < arr.length;i++){
         if(arr[i-1] != arr[i]) answer.push(arr[i-1]);
     }
     answer.push(arr[arr.length-1]);

     return answer;
 }
function solution(arr){
     var answer = [];
    for(var i = 0; i < arr.length; i++){
         if(arr[i] !== arr[i + 1]){
            answer.push(arr[i]);
         }        
     }
     return answer;
 }

 

728x90
반응형

'Problem Solving' 카테고리의 다른 글

두 정수 사이의 합 그리고 테스트케이스 4번 7번 9번  (0) 2020.09.03
나누어 떨어지는 숫자  (0) 2020.09.03
가운데 글자 가져오기  (0) 2020.09.02
2016년  (0) 2020.09.02
K번째수 그리고 테스트케이스 2  (0) 2020.09.02