반응형
https://programmers.co.kr/learn/courses/30/lessons/12906
<같은 숫자는 싫어>
○ 처음 푼 풀이 (2020.02.23)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
int[] temp = new int[arr.length];
int[] answer = {};
int j=0;
for(int i=0;i<arr.length;i++) {
if(i>0 && (arr[i] == arr[i-1])) {
continue;
}else
temp[j++] = arr[i];
}
answer = Arrays.copyOfRange(temp, 0, j);
return answer;
}
}
|
cs |
- temp 배열을 arr 배열의 길이만큼 선언한다.
- arr배열의 수 들을 temp배열에 담을 때, 이전에 담았던 수랑 같으면 스킵하고 다를때만 담는다.
- 담을때마다 j를 증가시켜서, answer배열에 옮겨 담을때 j번지 까지만 가져온다.
○ 참고할 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
ArrayList<Integer> tempList = new ArrayList<Integer>();
int preNum = 10;
for(int num : arr) {
if(preNum != num)
tempList.add(num);
preNum = num;
}
int[] answer = new int[tempList.size()];
for(int i=0; i<answer.length; i++) {
answer[i] = tempList.get(i).intValue();
}
return answer;
}
}
|
cs |
- ArrayList<Integer>
재 풀이 (2020.05.03)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
int[] answer = {};
int[] temp = new int[arr.length];
int j = 0;
for(int i=0;i<arr.length;i++)
{
if(i>0 && (arr[i]==arr[i-1]))
continue;
else
temp[j++] = arr[i];
}
answer = Arrays.copyOfRange(temp, 0, j);
return answer;
}
}
|
cs |
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
두 정수 사이의 합/java/프로그래머스/Level1 (0) | 2020.04.19 |
---|---|
문자열 내 마음대로 정렬하기/java/프로그래머스/Level1 (0) | 2020.02.23 |
나누어 떨어지는 숫자 배열/java/프로그래머스/Level1 (0) | 2020.02.23 |
문자열 내림차순으로 배치하기/java/프로그래머스/Level1 (0) | 2020.02.23 |
K번째수/java/프로그래머스/Level1 (0) | 2020.02.16 |