https://school.programmers.co.kr/learn/courses/30/lessons/120903
function solution(s1, s2) {
let answer = 0;
for (let i = 0; i < s1.length; i++){
for (let j = 0; j < s2.length; j++){
if(s1[i] === s2[j]) answer++;
}
}
return answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/120924
function solution(common) {
const compare = common[1]-common[0] === common[2]-common[1]
if(compare) {
return common[common.length-1]+common[1]-common[0]
} else {
return common[common.length-1]*(common[1]/common[0])
}
}
//다른 사람 코드
function solution(common) {
// 제한사항을 보면 common의 길이는 무조건 3이상이다.
// 또한 등차, 등비가 아닌 경우가 없으므로
// 인덱스 2번 1번의 차가 인덱스 1번 0번의 차와 같으면 등차수열
// 다르면 등비수열이다.
if (common[2] - common[1] === common[1] - common[0]) {
// 즉, 등차는 마지막 값에 등차 값을 더해주고
return common.pop() + common[1] - common[0];
} else {
// 등비는 마지막 값에 나눠서 구한 등비를 곱해주면 된다.
// 나누셈에 ()를 친 이유는 계산 순서 때문이다.
return common.pop() * (common[1] / common[0]);
}
}
console.log(solution([1, 2, 3, 4])); // 5
console.log(solution([2, 4, 8])); // 16
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort ➡️ 사용한 문법
https://school.programmers.co.kr/learn/courses/30/lessons/120880
function solution(numlist, n) {
let result = []
result = numlist.sort((a, b) => {
const [numA, numB] = [Math.abs(a - n), Math.abs(b - n)];
if(numA === numB){
return b - a;
}
return numA - numB;
})
return result;
}
//다른 사람 풀이
function solution(numlist, n) {
return numlist.sort((a, b) => Math.abs(a - n) - Math.abs(b - n) || b - a);
}
//sort함수를 보면 음수를 반환하면 a가 먼저, 양수면 b가 순서가 먼저 되도록 짜여져 있고,
//b랑 a의 거리가 같은 상황 즉 Math.abs(a - n) - Math.abs(b - n)이게 0이 되는 상황이 되면 ||연산자 뒤가 실행되면서 같은 거리일 경우
//큰 수를 먼저 나오도록 한 것