JiSoo's Devlog

[프로그래머스 / 자바스크립트] Lv1 본문

코테준비

[프로그래머스 / 자바스크립트] Lv1

지숭숭숭 2024. 3. 26. 11:40

정수 내림차순

sort().reverse()

 

map() 메서드는 배열 내의 모든 요소 각각에 대해 주어진 함수를 호출한 결과를 모아 새로운 배열 반환

배열의 각 요소에 대해 실행한 callback의 결과를 모든 새로운 배열을 반환

const array1 = [1, 4, 9, 16];

const map1 = array1.map((x) => x * 2);

console.log(map1);
// Array [2, 8, 18, 32]
arr.map((e) => {
    if (e != min) {
      answer.push(e);
    }
  });

 

배열.sort()

파라미터로 a, b 두 개의 요소를 입력받을 경우

리턴값 < 0 : a가 b보다 앞에 오도록

리턴값 > 0 : b가 a보다 앞에 오도록

리턴값 = 0 : a와 b의 순서 변경 X

 

배열.sort((a, b) => return a - b;) : 배열 오름차순 정렬

배열.sort((a, b) => return b - a;) : 배열 내림차순 정렬

 

arr.sort(function(a, b)  {
  if(a > b) return 1;
  if(a === b) return 0;
  if(a < b) return -1;
});

오름차순 정렬

arr.sort(function(a, b) {
  if(a < b) return 1;
  if(a === b) return 0;
  if(a > b) return -1;
});

내림차순 정렬

 

10진수 -> n진수

toString() 

기수를 매개변수로 취할 시 10진수를 다른 진수로 변환 가능

반환값은 Number가 아니라 String

// 10진수 -> 2진수
console.log(n.toString(2));
// 10진수 -> 3진수
console.log(n.toString(3));

 

n진수 -> 10진수

parseInt(string, radix)

// 2진수 → 10진수
let n = 1011
console.log(parseInt(n,'2')); // 11
// 3진수 → 10진수
let n = "210"
console.log(parseInt(n,'3'));  // 21

 

substr() 메서드는 문자열에서 특정 위치에서 시작해 특정 문자 수만큼의 문자 반환

str.substr(start, length)

 

소수 판별

1. 정수 n이 소수이기 위해서는 2부터 n-1까지 순서대로 n을 나누었을 때 하나라도 나머지가 0이 아니어야 한다

const check = (n) => {
  for (let i = 2; i < n; i++) {
    if (n % i === 0) return false;
  }
  return true;
};

 

2. n의 절반까지만 확인하기

n의 절반보다 큰 수에서 나눴을 때 나머지가 0이 되는 숫자가 나올 수 없다

const check = (n) => {
  for (let i = 2; i <= n / 2; i++) {
    if (n % i === 0) return false;
  }
  return true;
};

 

3. n의 제곱근 이용하기

const check = (n) => {
  for (let i = 2; i <= Math.sqrt(n); i++) {
    if (n % i === 0) return false;
  }
  return true;
};

 

reduce() 메서드 : 배열의 각 요소에 대해 주어진 리듀서 함수 실행, 하나의 결과값 반환

    arr.reduce(callback[, initialValue])

initialValue는 callback의 최초 호출에서 첫 번째 인수에 제공하는 값, 초기값 제공 안 하면 배열의 첫 번째 요소 사용

빈 배열에서 초기값 없이 reduce() 호출시 오류 발생

배열 내에 존재하는 각 요소에 대해 callback 함수 한 번씩 실행

[0, 1, 2, 3, 4].reduce((prev, curr) => prev + curr);

 

startsWith() 로 접두사 확인 가능 -> boolean 값 반환

if (my_string.startsWith(is_prefix)) {
    answer = 1;
  }

 

padStart() 메서드는 현재 문자열의 시작을 다른 문자열로 채워 주어진 길이를 만족하는 새로운 문자열을 반환한다

str.padStart(targetLength [, padString])

padStart(목표 문자열 길이, 현재 문자열에 채워넣을 다른 문자열)

728x90