반응형
<문제>
<작성코드>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
package com.java.programers;
public class Solution7 {
public static void main(String[] args) {
int[] arr = { 4, 4, 4, 1, 3, 3, 1, 2, 2, 9 };
System.out.println("결 과\t: " + Arrays.toString(solution(arr)));
}
public static int[] solution(int[] arr) {
System.out.println("주어진 배열 : " + Arrays.toString(arr));
int k = arr[0];
int cnt = 1; // 출력 배열의 크기를 설정하기 위한 변수
for (int i = 1; i < arr.length; i++) {
if (k == arr[i]) {
} else if (k != arr[i]) { // 같은 숫자가 이어지지 않을때만 cnt++
cnt++;
k = arr[i];
}
}
int[] answer = new int[cnt];
answer[0] = arr[0];
for (int i = 1, j = 0; i < arr.length; i++) {
if (answer[j] == arr[i]) {
} else if (answer[j] != arr[i]) {
j++;
answer[j] = arr[i];
}
}
return answer;
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
<출력결과>
저번 '나누어떨어지는 숫자 배열' 문제에서 배열 크기를 벗어나면 오류가 발생되었던 문제가 이번에도 발생해서 출력배열에 담길 원소의 수만큼 출력배열의 크기를 설정하여 문제를 풀었다. 알고리즘 자체는 풀기 수월했다.
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스] 예산 (1) | 2019.05.05 |
---|---|
[프로그래머스] 모의고사 (1) | 2019.04.30 |
[프로그래머스] 콜라츠 추측 (0) | 2019.04.26 |
[프로그래머스] 시저암호 (2) | 2019.04.23 |
[프로그래머스] 나누어 떨어지는 숫자 배열 (4) | 2019.04.18 |
댓글