DAILY

5월 17일 알고리즘 연습문제

ssund 2023. 5. 18. 00:12

https://school.programmers.co.kr/learn/courses/30/lessons/181901

const solution = (n,k) => Array(n/k).fill(k).map((v,i)=>v*(i+1))

https://school.programmers.co.kr/learn/courses/30/lessons/181900

function solution(m, a) {
    var answer = '';

    for(let i = 0; i<m.length; i++){
        if(!a.includes(i)){
            answer += m[i]
        }
    }

    return answer;
}

 

 

배열에 해당 원소가 있는지 확인하는 메소드

Array.includes(원소)

const array1 = [1, 2, 3];

console.log(array1.includes(2)); // true
console.log(array1.includes(9)); // false

https://school.programmers.co.kr/learn/courses/30/lessons/181899

function solution(n, slicer, num_list) {
  var answer = [];
  const [a, b, c] = slicer;

  switch(n) {
    case 1: 
      answer = num_list.slice(0, b + 1);
      break;
    case 2: 
      answer = num_list.slice(a);
      break;
    case 3:
      answer= num_list.slice(a, b + 1);
      break;
    case 4:
      answer = num_list.slice(a, b + 1).filter((_, idx) => !(idx % c));
      break;
    default:
      break;
  }

  return answer;
}

solution(4, [1, 5, 2], [1, 2, 3, 4, 5, 6, 7, 8, 9])

case 4에서 c번째 간격으로 출력하는 로직

filter를 사용해서 idx가 c로 나눴을때 0인경우만 리턴 

answer = num_list.slice(a, b + 1).filter((_, idx) => !(idx % c));

 

https://school.programmers.co.kr/learn/courses/30/lessons/181896


자바스크립트는 양수, 음수 모두 boolean값은 true

0은 boolean값 false

 

자바스크립트 음수, 양수 구하는 메소드는 Math.sign(숫자) 

-1(음수), 1(양수)

 

Array.findIndex

cosnt test = [13, 22, 53, 24, 15, 6];
const test2 = [12, 4, 15, 46, 38, -2, 15];

test.findIndex(v => v < 0); // 해당하는값이 없는경우 -1
test2.findIndex(v => v < 0); // 해당하는값이 있는경우 해당 인덱스 리턴 5

 

https://school.programmers.co.kr/learn/courses/30/lessons/181895