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 |
Tags
- 자바
- Python
- Get
- 테코테코
- react-redux
- 항해플러스
- 이코테
- 매일메일
- sw expert academy
- SW
- programmers
- react
- redux-saga
- 프로그래머스
- axios
- Algorithm
- createSlice
- useDispatch
- react-router
- redux-toolkit
- java
- json-server
- 알고리즘
- C++
- 항해99
- JavaScript
- maeil-mail
- 코딩테스트합격자되기
- 리액트
- redux
Archives
- Today
- Total
Binary Journey
[프로그래머스] 같은 숫자는 싫어 본문
반응형
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
** Javascript
function solution(arr)
{
return arr.filter((item, index) => arr[index] !== arr[index + 1]);
}
굳이 arr[index] 쓸 필요가 없었는데 왜 썼지..
function solution(arr)
{
return arr.filter((item, index) => item !== arr[index + 1]);
}
** Java
java는 효율성 테스트 때문에 추천 풀이 오픈...!
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
List<Integer> list = new ArrayList<Integer>();
int top = 10;
for (int i : arr) {
if (i != top) {
list.add(i);
top = i;
}
}
int[] answer = new int[list.size()];
for(int i=0; i<answer.length; i++) {
answer[i] = list.get(i).intValue();
}
return answer;
}
}
array 의 경우 사이즈를 정해서 선언해야 하므로 (고정된 수의 요소를 보유하는 컨테이너 객체임) 변동성이 있을 경우 List 나 ArrayList를 먼저 이용하는 것이 좋다.
index out of range 에러가 나는 것을 피하려면 swap 을 이용하면 된다.
** Python
def solution(arr):
answer = []
top = 10
for i in arr:
if i != top:
answer.append(i)
top = i
return answer
가장 많이 추천을 받은 풀이는 다음과 같다.
def solution(arr):
a = []
for i in arr:
if a[-1:] == [i]: continue
a.append(i)
return a
댓글 설명에 따르면
a[-1:]은 a값의 가장 뒤의 값을 list로 만든거라, list가 아닌 i랑 list인 a[-1:]값이랑 같은지 물어보면 당연히 다르다고 나오기 때문입니다.
반응형
'프로그래머스 > level 1' 카테고리의 다른 글
[프로그래머스] 2016년 (0) | 2021.09.30 |
---|---|
[프로그래머스] 가운데 글자 가져오기 (0) | 2021.09.30 |
[프로그래머스] 나누어 떨어지는 숫자 배열 (0) | 2021.09.23 |
[프로그래머스] 두 정수 사이의 합 (0) | 2021.09.23 |
[프로그래머스] 다트게임 (0) | 2021.09.15 |