📄 문제

💡 풀이
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
List<Integer> list = new ArrayList<>();
list.add(arr[0]);
for(int i=0; i<arr.length; i++)
if(arr[i] != list.get(list.size()-1))
list.add(arr[i]);
int[] answer = new int[list.size()];
for(int i=0; i<list.size(); i++)
answer[i] = list.get(i);
return answer;
}
}
🔍 다른 사람 풀이보고 다시 풀기
- preNum 변수 사용으로 list.size()를 매번 호출 안해도 됨
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
List<Integer> list = new ArrayList<>();
int preNum = 10;
for(int i=0; i<arr.length; i++)
if(arr[i] != preNum)
list.add(preNum = arr[i]);
int[] answer = new int[list.size()];
for(int i=0; i<list.size(); i++)
answer[i] = list.get(i);
return answer;
}
}
- 속도 차이 확인
preNum 변수를 사용한 코드가 속도와 효율성이 조금씩 좋은 것 같다.

'코딩테스트 연습 > 알고리즘' 카테고리의 다른 글
| [프로그래머스 / 알고리즘 고득점 Kit] 폰켓몬 (0) | 2024.02.21 |
|---|