내배캠 34일차

·2022년 12월 17일
0

내일배움캠프

목록 보기
36/142
post-thumbnail

TODO

  • 알고리즘
  • 노드 입문 강의

01. 알고리즘

짝수는 싫어요

function solution(n) {
  const answer = [];

  for (let i = 1; i <= n; i++) {
    if (i % 2 === 1) {
      answer.push(i);
    }
  }

  return answer;
}

console.log(solution(10));

중앙값 구하기

오름차순 정렬

 array.sort(function (a, b) {
    return a - b;
  });

내림차순은 반대로 b - a

function solution(array) {
  array.sort(function (a, b) {
    return a - b;
  });
  const n = Math.floor(array.length / 2);
  const answer = array[n];
  return answer;
}

console.log(solution([9, -1, 0]));

순서쌍의 개수

function solution(n) {
  let answer = 0;

  for (let i = 1; i <= n; i++) {
    if (n % i === 0) {
      answer += 1;
    }
  }

  return answer;
}

console.log(solution(20));

제곱수 판별하기

관련 내장함수가 이미 존재함;;

function solution(n) {
    return Math.sqrt(n) === Math.floor(Math.sqrt(n)) ? 1 : 2
}
function solution(n) {
  for (let i = 1; i <= n / 2; i++) {
    if (n / i === i) {
      return 1;
    }
  }
  return 2;
}

console.log(solution(144));
console.log(solution(976));

문자열안에 문자열

  1. includes함수 사용 => 따로 정리
  2. 조건연산자 사용
function solution(str1, str2) {
  return str1.includes(str2) ? 1 : 2;
}

console.log(solution("ppprrrogrammers", "pppp"));

배열의 유사도

filter함수랑 includes 공부필

function solution(s1, s2) {
  let cnt = 0;

  for (let i in s1) {
    for (let j in s2) {
      if (s1[i] === s2[j]) {
        cnt++;
      }
    }
  }
  return cnt;
}

// function solution(s1, s2) {
//     const intersection = s1.filter((x) => s2.includes(x));
//     return intersection.length;
// }

profile
개발자 꿈나무

0개의 댓글