본문 바로가기
알고리즘

같은 숫자는 싫어

by e-pd 2020. 8. 20.

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

 

코딩테스트 연습 - 같은 숫자는 싫어

배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은

programmers.co.kr

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public int[] solution(int []arr) {
       List<Integer> result = new ArrayList<>();
        int num = arr[0];
        result.add(num);
 
        for (int i = 1; i < arr.length; i++) {
            if (num != arr[i]) {
                result.add(arr[i]);
                num = arr[i];
            }
        }
 
        return result.stream().mapToInt(i -> i).toArray();
    }
cs

1. 배열에 첫번째 값을 최초 시작 수로 지정한다.

2.첫번째는 바로 결과 리스트에 넣는다. 첫번째와 두번째가 같으면 리스트에 안들어가기때문에

3.배열은 첫번째 값을 제외하고 순회한다.

4.배열의 값이 서로 다르면 리스트에 넣고 비교값을 교체한다.

5.리스트를 구했으면 array로 바꾼다. 

'알고리즘' 카테고리의 다른 글

K th largest element in an Array  (0) 2020.08.25
Unique한 문자인가  (0) 2020.08.24
String to Num  (0) 2020.08.24
정수 내림차순으로 배치하기  (0) 2020.08.22
완주하지 못한 선수  (0) 2020.08.22