알고리즘에서 내가 자주 쓴 문법들

박재훈·2023년 1월 16일
0

알고리즘

목록 보기
2/13

arr.pop - 제일 끝에있는거 제거하고 배열 반환
arr.shift - 제일 앞에있는거 제거하고 배열 반환
arr.push - 제일 끝에 추가
arr.reverse - 그냥 배열 순서 뒤집기

slice()는 배열 메서드로 원하는 부분을 복사하고 새로운 배열로 리턴한다.
배열을 변경하지 않는 것이 핵심이다.
ex) Arr.slice(3) 은 Arr 배열의 3번 인덱스부터 마지막까지 복사

Splice() 또한 배열 메서드로 배열에 원하는 엘리먼트 갯수를 추가하거나 제거할 수 있다.
이는 기존 배열에 변이를 준다.
ex) array.splice(시작인덱스,지울 요소 갯수,'넣고자 하는 값')

문자열 -> 배열
const arr = str.split('') 하면 ['s','t','r']
배열 -> 문자열
str = arr.join('') 하면 str = 'str'

그냥 숫자열은 문자열로 바꾼뒤 써야함
let str = String(n).split('');

Arr.indexOf() 메서드는 배열에서 지정된 요소를 찾을 수 있는
첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환합니다.

Arr.includes() 메서드는 배열이 특정 요소를 포함하고 있는지 판별합니다.(true/false)

Arr.find() 메서드는 주어진 판별 함수를 만족하는 첫 번째 요소의 값을 반환합니다.

문자열 뒤집기
var answer = my_string.split("");
return answer.reverse().join('');

특정문자제거하기
const let = "a"
const answer = my_string.split(letter).join('')
return answer;

오름차순/내림차순 배열
그냥 sort만 하면 1, 10, 2, 3 이렇게 정렬된다.

array.sort(function (a, b) {
return a - b;
});
내림차순은 b -a 로 바꾸면 된다.

제곱수 판별하기
var answer = Number.isInteger(Math.sqrt(n))? answer = 1 : answer = 2

정수 판별
Number.isInteger()

특정 문자 제거
return my_string.split("").filter((v) => v !== "a" && v !== "e" &&
v !== "i" && v !== "o" && v !== "u").join("");

n의 배수
var answer = numlist.filter(item => item % n === 0)

대소문자 변경
str.toUpperCase() / str.toLowerCase()

가장 큰 수 찾기
let max = Math.max(...array);
return [max, array.indexOf(max)];

최대공약수 = 둘 다 나누어 떨어지는 수 중 가장 큰 값
2부터 둘 중 작은 수까지 나누어보는것.

최소공배수 = 둘 다 공통되는 배수 중 가장 작은 값
1부터 둘 다 나누어 떨어지는 지 확인.

소수 = 2부터 자기보다 1 작은 수까지 나누어떨어지는 숫자가
하나라도 있으면 안됨. 근데 절반까지만 확인해봐도 되겠다. (제곱근까지란다.)

중복된 숫자 걸러내기
return arr.filter((val,index) => val != arr[index+1]);

profile
신입 개발자

0개의 댓글