취업 및 이직 준비/코딩테스트 준비
프로그래머스 - 같은 숫자는 싫어 - 자바 - 코딩테스트 준비
code2772
2023. 3. 28. 14:11
728x90
반응형
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
int[] answer = {};
// 크기가 얼마나 있는지 모르니 가변인 어레이리스트를 사용
ArrayList<Integer> arrl = new ArrayList<Integer>();
// 배열 arr의 원소의 크기 : 0보다 크거나 같고 9보다 작거나 같은 정수
int num = -1; // 영햐을 끼치지 않는 숫자
for(int i=0; i< arr.length ; i++){
if(arr[i] != num){ // 처음은 무조건 삽입 왜냐면 관련없는 -1
arrl.add(arr[i]);
num = arr[i]; // 배열의 변수를 비교하기 위해 num에 arr을 넣는다.
}
}
// answer를 리스트로 넣어야한다.
answer = new int[arrl.size()];
for (int i=0; i < answer.length; i++){
answer[i] = arrl.get(i);
}
return answer;
}
}
1. 크기가 얼마나 있는지 모르기 때문에 먼저 ArrayList를 만들었다.
2. 배열 arr의 원소의 크기 : 0보다 크거나 같고 9보다 작거나 같은 정수이기 때문에 먼저선언
처음 비교하는 것이 들어가야 하기 때문에 범위에 관계없는 -1을 선언
3. if문을 사용하여 중복값이 아닌 것을 num에 넣는다.
4. num과 배열을 비교반복한다.
5. 어레이리스트를 다시 리스트 answer에 넣어주어 문제를 풀었다.
반응형