Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 반복문
- 리눅스마스터 1급 정리
- Kotlin
- 문자열
- 백준 java
- 월간코드챌린지
- 명령어
- toCharArray
- 프로그래머스
- 고잉버스
- Linux
- 코딩테스트
- 리눅스마스터1급
- 코테
- 백준 javascript
- 자바
- 자바스크립트 코딩의 기술
- 개발자 회고록
- java 백준 1차원 배열
- map
- GoingBus
- 리눅스
- Java
- 스프링 빈
- JavaScript
- 카카오
- 리눅스마스터 3과목
- Memoir
- 연습문제
- 스프링 컨테이너
Archives
- Today
- Total
hoon's bLog
[Java] 프로그래머스 같은 숫자는 싫어 자바 본문
반응형
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12906
[문제 설명]
배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다.
이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다.
단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,
- arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.
- arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.
배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요.
[제한사항]
- 배열 arr의 크기 : 1,000,000 이하의 자연수
- 배열 arr의 원소의 크기 : 0보다 크거나 같고 9보다 작거나 같은 정수
[입출력 예]
arr | answer |
[1,1,3,3,0,1,1] | [1,3,0,1] |
[4,4,4,3,3] | [4,3] |
[나의 풀이]
import java.util.*;
public class Solution {
public int[] solution(int[] arr) {
ArrayList<Integer> list = new ArrayList<>();
int[] answer = {};
for(int i = 0; i < arr.length - 1; i++){
if(arr[i] != arr[i+1])
list.add(arr[i]);
if(i == arr.length - 2)
list.add(arr[arr.length - 1]);
}
answer = new int[list.size()];
for(int i = 0; i < list.size(); i++){
answer[i] = list.get(i);
}
return answer;
}
}
[다른 사람의 풀이]
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
ArrayList<Integer> tempList = new ArrayList<Integer>();
//배열의 원소의 최대 크기는 9이기 때문에 10으로 중복 비교
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++) {
//intValue로 Integer인 원소 값을 int형으로 변환
answer[i] = tempList.get(i).intValue();
}
return answer;
}
}
[정리]
개인피셜 난이도 : ★☆☆☆☆
말 그대로 연습문제!
이럴때라도 연습문제로 자존감 올리자!ㅎㅎㅎ
끝.
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[Java] 프로그래머스 두 정수 사이의 합 자바 (0) | 2022.08.11 |
---|---|
Java 프로그래머스 나누어 떨어지는 숫자 배열 자바 (0) | 2022.08.10 |
[Java] 프로그래머스 가운데 글자 가져오기 자바 (0) | 2022.08.06 |
[Java] 프로그래머스 2016년 자바 (0) | 2022.08.04 |
[Java] 프로그래머스 신고 결과 받기 자바 (0) | 2022.08.02 |