1. 프로그래머스 - 스택,큐
Lv1. 같은 숫자는 싦어
const solution = (arr) => {
let newArr = [];
newArr.push(arr[0]);
for (let i = 0, j = 1; j < arr.length; i++, j++) {
if (arr[i] !== arr[j]) {
newArr.push(arr[j]);
}
}
return newArr;
};
function solution(arr)
{
return arr.filter((val,index) => val != arr[index+1]);
}
filter
생각만하고 적용하지 못 했음const arr = [1, 3, 0];
console.log(arr.indexOf(3)); // 1
2. 프로그래머스 - 정렬
Lv1. 다른 사람의 풀이
const solution = (array, commands) => {
let answer = [];
for (let i = 0; i < commands.length; i++) {
newArray = array
.slice(commands[i][0] - 1, commands[i][1])
.sort((a, b) => a - b);
answer.push(newArray[commands[i][2] - 1]);
}
return answer;
};
function solution(array, commands) {
let answer = [];
for(let i = 0; i < commands.length; i++){
let eachCommand = commands[i]
let slice = array.slice(eachCommand[0] - 1, eachCommand[1])
answer.push(slice.sort((a, b) => a - b)[eachCommand[2] - 1])
}
return answer;
}
let eachCommand = commands[i]
이렇게 분리하니 더 깔끔!function solution(array, commands) {
return commands.map(v => {
return array.slice(v[0] - 1, v[1]).sort((a, b) => a - b).slice(v[2] - 1, v[2])[0];
});
}
map
을 사용!!