https://school.programmers.co.kr/learn/courses/30/lessons/181934?language=javascript
const operations = {
'>=': (n, m) => n >= m,
'<=': (n, m) => n <= m,
'>!': (n, m) => n > m,
'<!': (n, m) => n < m,
}
function solution(ineq, eq, n, m) {
var answer = 0;
const op = operations[ineq + eq];
answer = Number(op(n, m));
return answer;
}
solution("<", "=", 20, 50, 1);
https://school.programmers.co.kr/learn/courses/30/lessons/181932
1. for문 break, continue
for문 내 if문에서 return, break를 사용하면 for 에서 빠져나온다.
if문에서 다음코드는 실행하지 않고 for문을 돌리고 싶다면 continue;를 사용하면 된다.
2. true, false를 숫자로 변환했을 때
Number(true); //1
Number(false); //0
3. for of 에서 index사용하기
for of를 사용하면 index를 사용할 수 없다. 이런경우에 entries()를 사용해 index를 받을 수 있다.
for (const [index, value] of ['a', 'b', 'c', 'd', 'e'].entries()) {
console.log(index, value);
}
/*
0 'a'
1 'b'
2 'c'
3 'd'
4 'e'
*/
function solution(code) {
var answer = '';
let mode = false;
for(let [idx, letter] of code.split('').entries()) {
if (letter === '1') {
mode = !mode;
continue;
}
// mode가 0이거나, 짝수일 때
if (Number(mode) === 0 && idx % 2 === 0) {
answer += letter;
continue;
}
// mode가 1이거나, 홀수일 때
if (Number(mode) === 1 && idx % 2 !== 0) {
answer += letter;
continue;
}
}
answer = answer || 'EMPTY';
return answer;
}
solution("abc1abc1abc");
등차수열
https://school.programmers.co.kr/learn/courses/30/lessons/181931
https://school.programmers.co.kr/learn/courses/30/lessons/181930
1. 배열에 같은 숫자가 몇개인지 체크하는 로직
간단한 방법으로 new Set()을 사용하는 방법이 있다.
중복값을 처리해준다.
new Set([ 1, 2, 3, 3, 4, 5]) => [1, 2, 3, 4, 5];
2. 제곱근 함수
Math.pow(7, 2) === 7 ** 2
const calculate = (numbers, times) => {
const [a, b, c] = numbers;
let result = 1;
for(let i = 1; i <= times; i++) {
result *= a ** i + b ** i + c ** i;
}
return result;
}
function solution(a, b, c) {
var answer = 0;
const numbers = [a, b, c];
answer = calculate(numbers, (numbers.length + 1) - new Set(numbers).size);
return answer;
}
//solution(1, 3, 3)
https://school.programmers.co.kr/learn/courses/30/lessons/181929
function solution(num_list) {
return Math.pow(num_list.reduce((a, b) => a + b), 2) > num_list.reduce((a, b) => a * b) ? 1: 0
}
solution([3, 4, 5, 2, 1])
Math.abs()
숫자의 절대값 리턴 (음수값을 넣으면 절대값이 나온다.)
팩토리얼
1부터 어떤 양의 정수 n까지의 정수를 모두 곱한 것
4! = 1 * 2 * 3 * 4
'DAILY' 카테고리의 다른 글
5월 15일 알고리즘 연습문제 (0) | 2023.05.15 |
---|---|
5월 14일 알고리즘 연습 (0) | 2023.05.14 |
5월 8일 알고리즘 연습문제 (0) | 2023.05.09 |
5월 5일 알고리즘 연습문제 (0) | 2023.05.06 |
등비수열, 등차수열 알고리즘 (0) | 2023.02.03 |