본문 바로가기
코딩테스트

[JavaScript] 코딩테스트 공식

by KUROMI98 2023. 5. 9.

문자열을 배열로 분리 : const 저장할배열= 분리될문자열.split('');
배열을 문자열로 합치기 : const 저장할문자열= 저장된배열.join('');

배열을 배열로 거꾸로 나열하기: const 저장할배열 = 거꾸로만들배열.reverse(); 

 

배열 원소들을 숫자순으로 정렬 : const 저장할배열 = 정렬할배열.sort((a,b)=>a-b);

배열 원소들을 문자순으로 정렬 : const 저장할배열 = 정렬할배열.sort();

 

숫자를 문자열로 : let 저장할문자열 = String(숫자) 또는 숫자 + ' ' ; 

문자열을 숫자로 : let 저장할숫자= Number(문자열); 너무 큰 숫자의 경우에는 BigInt(문자열) 하면 된다.
배열을 숫자로 : let 배열 = 배열.map(x=> parseInt(x));

 

문자열 내부 검색 : let index = str1.indexOf(str2); str1안에 str2가 있는지 찾는 경우 // 없다면 index가 -1이 찍힘 

문자열 내부 확인 : str1.includes(str2); 위와 같음

문자열 순회 돌기 : for (let letter of s) { }

 

문자열 원소 교체 : 문자열 =  문자열.replace(/이것을/g, '이것으로');

문자열 원소 제거 : 문자열.replace(/[aeiou]/g, ''); //  a,e,i,o,u 를 삭제하고 싶을 때

문자열 원소 제거 2 : 문자열 = 문자열.replace(letter, '');  // letter라는 변수를 삭제하고 싶을 때

문자열 잘라내기 : 문자열.slice(시작인덱스, 끝인덱스); // 시작인덱스부터, 끝인덱스 직전 원소까지 출력

 

배열 이어붙이기: const 합칠배열 = 배열1.concat(배열2); 

배열 잘라내기 : 배열.slice(0, 끝인덱스); // 끝 인덱스를 생략하면 배열의 끝까지 잘라내라는 뜻.

배열을 0 채워 초기화: let 배열 = Array(52).fill(0); // 길이 52의 배열을 0으로 초기화

배열 (n *n) 에 0 채워 초기화: const 배열 = Array.from({ length: n }, () => Array(n).fill(0));

배열 빈 칸 제거: arr = arr.filter(x=>x!='');

배열 원소 교체 : 배열.splice(index, 1, x); // 배열에서 index값을 가진 원소를 x로 교체해준다.

배열 원소 교체 2: 배열[교체하고싶은원소의인덱스] = 값또는배열;

배열의 i번째 원소 추가: 배열[추가하고싶은원소의인덱스] = 값또는배열;

배열의 i번째 원소 제거 : 배열.splice(삭제하고싶은원소의인덱스, 1) 

 

배열 맨 앞에 원소 추가 : 배열.unshift(추가할원소);

배열 맨 앞에 원소 삭제 : 배열.shift();  
배열 맨 뒤에 원소 삭제 : 배열.pop(); 
배열 맨 뒤에 원소 추가 : 배열.push(추가할원소); 

 

행렬의 행과 열 개수 구하기 :
const rowsCount = arr.length; // 행의 수
const columssCount = arr[0].length; // 열의 수

 

배열 map : 배열 = 배열.map(x => x*2);

배열 필터링 :   배열 = 배열.filter( x => x의조건); // 조건을 충족하는 원소만 남김 

배열의 원소에 인덱스도 추가하기: 인덱스추가된배열 = 배열.map((value, index) => ({ value, index }));

인덱스도 추가된 배열에 배열의 원소 기준으로 정렬하기: 배열.sort((a, b) => a.value - b.value); 

배열 비교 : JSON.stringify(배열1) === JSON.stringify(배열2)

배열 중복 제거 : 배열 = [...new Set(배열)];

배열 중복 제거 2 : arr = arr.filter((x,index) => arr.indexOf(x)===index);

 

배열의 원소들의 총합 : let 총합 = 배열.reduce((a, b) => a + b, 0);

배열의 원소들의 전부를 곱: let 총합 = 배열.reduce((a, b) => a * b, 1);

배열의 최소값 : let 최소값 = Math.min(...배열);

 

소문자로: 문자열 = 문자열.toLowerCase();

대문자로: 문자열 = 문자열.toUpperCase();

 

숫자의 버림 : Math.floor(숫자);

숫자의 올림 : Math.ceil(숫자);

 

숫자가 정수인 지 판별: (Number.isInteger(숫자))

루트값 : Math.sqrt(숫자)

 

십진법을 n진수로 : 십진수숫자.toString(n);  

n진법을 십진수로 : parseInt(숫자,n);

 

a와 b의 최소공배수: function lcm(a, b) {
    return (a * b) / gcd(a, b);
}

a와 b의 최대공약수: function gcd(a, b) {
    return b === 0 ? a : gcd(b, a % b);
}

 

 

for문을 while문으로 만들기:

for (i=0; i<무한대; i++) { 코드 }
let i = 0; 
    while (true) { 
        코드
        i++; 
    }


    2차 배열 선언하는 법

function solution(n) {
    const array = []; 
    for (i = 0; i < n; i++) {
        const arr = [];
        for (j = 0; j < n; j++) { 
             arr.push(0);
        }
        array.push(arr);
    }
    
  return array;
}

'코딩테스트' 카테고리의 다른 글

[C++] 코딩테스트 공식  (0) 2023.09.14
[Python] 코딩테스트 공식  (0) 2023.05.25
알고리즘 테스트 :: 지뢰탐지  (0) 2023.02.02
백준 5585  (1) 2023.02.01
백준 8958  (0) 2023.02.01

댓글