같은숫자는 싫어를 풀어보자

JD·2021년 10월 18일
0

중요사항

  • 연속적으로 같은수 나올시 제거
  • 0<x<9 수

📢같은숫자는 싫어

연속적인 숫자를 제거하여 배열로 반환

📢풀이

  • 이전 숫자를 기억한다
  • for문을 돌려서 배열의 크기를 기억함
  • 이전 숫자를 비교하며 배열에 저장함

코드사진

import java.util.*;

public class Solution {
    public int[] solution(int []arr) {
         int pre = 10;  // 배열 요소가 0<x<9 이므로 10을 준다         
         int cnt =  0; // 배열크기를 알기위해 선언
        
         for (int num : arr ){// 향상된 for문 사용
            if(num!=pre){// 이전숫자와 다를시 cnt 증가 
                cnt++;  
                pre = num;
            }
            
         }
         int[] answer = new int[cnt];
         cnt = 0;
         pre =10;
    
        for (int num : arr ){// 향상된 for문사용
            if(num!=pre){// 이전숫자와 비교후 값 저장
                pre=num; 
                answer[cnt++] = num;
            }
            
        }
           
        return answer;
    }
}

📢마치며

배열 크기를 선언 안해도 상관없이 쓸수있는 arrylist를 쓸려다가 arrylist를 써도 for문을 두개 써야되는건 똑같은거같아 배열크기를 cnt로 측정하여 생성하는 방식으로 돌렸다 느긋하게 풀다보니 다양한 방식으로 생각할수있었던것같다

📢출처

👍프로그래머스

0개의 댓글