문제
https://programmers.co.kr/learn/courses/30/lessons/12906
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 답
[pseudo code]
1. pointer=arr[0]를 만들고, answer 배열에 push
2. 배열을 돌면서(i=1부터) point !==arr[i]이면 arr[i]를 answer에 push하고, 포인터 값을 재할당
function solution(arr) {
const answer = [];
let pointer = arr[0];
answer.push(pointer);
for (let i = 1; i < arr.length; i++) {
if (pointer !== arr[i]) {
answer.push(arr[i]);
pointer = arr[i];
}
}
return answer;
}
console.log(solution([1, 1, 3, 3, 0, 1, 1]));
// 메서드 사용으로 코드 줄이기
function solution(arr) {
return arr.filter((v, i) => val != arr[i + 1]);
}'항해99_10기 > [2주차] 알고리즘 문제풀이' 카테고리의 다른 글
| [17번][중급] 로또의 최고 순위와 최저 순위 (0) | 2022.11.21 |
|---|---|
| [16번][중급] 두개 뽑아서 더하기 (0) | 2022.11.21 |
| [14번][중급] 최소 직사각형 (0) | 2022.11.21 |
| [13번][중급] 3진법 뒤집기 (0) | 2022.11.21 |
| [11번][연습문제][Lv.1] 콜라츠 추측 (0) | 2022.11.19 |