코딩테스트
- 삼각형 만들기
- 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
- 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return
function solution(sides) {
let arr = sides.sort((a,b) => a-b)
if (arr[0] + arr[1] > arr[2]) {
return 1
} else {
return 2
}
}
- 할인 가격 계산하기
- 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 지불해야 할 금액을 return
function solution(price) {
if (price < 100000) return price
else if (price >= 100000 && price < 300000) {
return Math.floor(price - price * 0.05)
} else if (price >= 300000 && price < 500000) {
return Math.floor(price - price * 0.1)
} else if (price >= 500000) {
return Math.floor(price - price * 0.2)
}
}
- 배열의 유사도
- 두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return
- filter : true 값만을 반환하여 새로운 배열로 반환한다.
기본적으로 순차적으로 값을 접근한다라는 개념을 내포하고 있기 때문에 for문이 가진 순회를 별다른 코드를 작성하지 않고도 사용할 수 있다.
- includes : 문자열이 특정 문자열을 포함하는지 확인한다.
function solution(s1, s2) {
const arr = s1.filter(x=>s2.includes(x))
return arr.length
}
const numbers = [1,2,3,4,5];
numbers.filter((number, index, source) => {
console.log(number);
console.log(index);
console.log(source);
return number > 3;
});
- 제곱수 판별하기
- 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return
- math.sqrt : 특정숫자의 제곱근 값을 계산해준다.
function solution(n) {
return parseInt(Math.sqrt(n)) === Math.sqrt(n) ? 1 : 2
}
- 배열 두배 만들기
- 정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return
- reduce : 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환
function solution(numbers) {
return numbers.reduce((a, b) => [...a, b * 2], []);
}