SMALL
1. 2의 영역
function solution(arr) {
var answer = [];
let firstIndex = arr.indexOf(2); // 맨 처음부터 인덱스 검색
let lastIndex = arr.lastIndexOf(2); // 맨 끝부터 인덱스 검색
answer = arr.slice(firstIndex, lastIndex+1)
if (answer.length == 0) { // 배열 안에 2가 없을 때
answer.push(-1);
}
return answer;
}
- indexOf(검색할 값, 시작 위치) > 앞에서부터 검색할 값을 시작하는 속성. 시작 위치 생략 시, 0으로 인식
- lastIndexOf(검색할 값, 시작 위치) > 끝에서부터 검색할 값을 시작하는 속성. 시작 위치 생략 시, 맨 끝부터 시작
2. 배열 조각하기
// ** splice를 이용해 배열의 특정 항목 제거
function solution(arr, query) {
var answer = [];
for(let i = 0 ; i < query.length ; i ++) {
const idx = query[i]
if(i%2 === 0) {
arr.splice(idx+1, arr.length -(idx+1))
// ** 시작 인덱스, 제거 갯수
} else {
arr.splice(0, idx)
}
}
answer = arr;
return answer
}
3. n번째 원소부터
function solution(num_list, n) {
var answer = [];
answer = num_list.slice(n-1, );
return answer;
}
4. 순서 바꾸기
function solution(num_list, n) {
var answer = [];
let res1 = num_list.slice(0, n);
let res2 = num_list.slice(n, );
answer = res2.concat(res1);
return answer;
}
5. 왼쪽 오른쪽
// [”u”, “d”] ⇒ []
// [”u”, “l”, “d”] ⇒ [”u”]
// [”u”, “r”, “d”] ⇒ [”d”]
function solution(str_list) {
var answer = [];
let lIndex = str_list.indexOf("l");
let rIndex = str_list.indexOf("r");
if (str_list.includes("l")) {
if (str_list.includes("r")) {
if (lIndex < rIndex) {
answer = str_list.slice(0, lIndex);
} else if (lIndex > rIndex) {
answer = str_list.slice(rIndex+1, );
}
} else {
answer = str_list.slice(0, lIndex);
}
} else {
if (str_list.includes("r")) {
answer = str_list.slice(rIndex+1, );
} else {
answer = [];
}
}
return answer;
}
728x90
'Algorithm > Javascript' 카테고리의 다른 글
[프로그래머스] 230722 코딩테스트 연습 (0) | 2023.07.24 |
---|---|
[프로그래머스] 230721 코딩테스트 연습 (0) | 2023.07.21 |
[프로그래머스] 230718 코딩테스트 연습 (0) | 2023.07.18 |
[프로그래머스] 230717 코딩테스트 연습 (0) | 2023.07.17 |
[프로그래머스] 230714 코딩테스트 연습 (0) | 2023.07.14 |
댓글