[Java][프로그래머스] Lv.1 - 같은 숫자는 싫어

배수연·2024년 8월 1일

algorithm

목록 보기
40/45

🔗 프로그래머스 Lv.1 - 같은 숫자는 싫어

문제

알고리즘 분류

  • 스택/큐

풀이

1. 중복 여부 확인 및 저장

  • 스택/큐 분류이긴 하나, 내 경우는 사용하지 않았다.
  • 입력의 arr를 순서대로 돌면서 중복되면 넘어가고, 다른 숫자가 나오면 이전 숫자를 별도로 만든 list에 저장했다. 이렇게 구현할 경우 맨 마지막 숫자는 저장되지 않으므로 반복문이 끝나고 arr의 마지막 요소를 list에 추가해주었다.
        int n = arr[0];
        ArrayList<Integer> list = new ArrayList<>();
        for(int i = 1; i<arr.length; i++){
            int res_idx = 0;
            if(arr[i] != n ) {
                list.add(n);
            }
            n = arr[i];
        }
        list.add(arr[arr.length -1]);

전체 코드

import java.util.*;

public class Solution {
    public ArrayList<Integer> solution(int []arr) {
        int n = arr[0];
        ArrayList<Integer> list = new ArrayList<>();
        for(int i = 1; i<arr.length; i++){
            int res_idx = 0;
            if(arr[i] != n ) {
                list.add(n);
            }
            n = arr[i];
        }
        list.add(arr[arr.length -1]);
    return list;
    }
}

프로그래머스 1레벨 문제인데, 아마 백준으로 치면 브론즈 정도 되지 않을까 싶다.

0개의 댓글