본문 바로가기
코테

자바스크립트 코딩테스트 핵심로직(1)

by 해룸 2024. 1. 30.

코딩테스트 문제를 하루에 1~3개씩 풀어보고있는데 아직도 자바스크립트 사용한 로직에 익숙하지 않아 구글링을 하는 내 모습을 보며.. 😒 차라리 공부를 확실하게 하고 넘어가자 싶어 글을 쓰게 되었다!

 

1. forEach


forEach를 통해 배열을 하나하나 돌 수 있다.

다음과 같이 사용하면 콘솔창에 배열의 요소와 인덱스까지 같이 출력되는것을 알 수있다.

 

2. split

split은 문자열을 사용자가 설정한 기준에 따라 나눠서 배열을 만들어 준다.

이 배열을 다시 문자열로 만들고 싶다면 join을 사용하면 된다.

const a = ret.join("")
//HelloWorld
const a = ret.join(" ")
//Hello World
const a = ret.join(" hi ")
//Heloo hi World

 

3. sort

//내림차순 하고싶다면
let numbers = [1, 2, 4, 5, 1, 5, 7, 8, 9, 5];
numbers = numbers.sort((a, b) => (a - b) * -1);
//만약 짝수만 뽑아내고싶다면 filter
let numbers = [1, 2, 4, 5, 1, 5, 7, 8, 9, 5];
const ret = numbers.filter(e => e%2 == 0) 
//[2, 4, 8]
//배열에서 *2한 새로운 배열을 만들고 싶다면 map
let numbers = [1, 2, 4, 5, 1, 5, 7, 8, 9, 5];
const ret = numbers.map(e => e*2)
//ret 이라고 새로운 배열을 선언해주고 사용함!

//같은 방법으로 for을 써도 됨, 하지만 함수가 있으니 함수 활용해보자
let b = []
for(let a of numbers){
b.push(a * 2)
}

 

4. reduce

배열안의 값을 다 더하거나 빼고싶을때 사용. 예시의 0은 초기값을 의미한다. 만약 2로 설정하게 된다면 49가 출력된다.

 

그 외에도 find, findIndex, icludes, substring, slice, Object.keys, Object.values, Object.entries, Math.round, Math.ceil, Math.floor, Math.abs 함수는 반드시 알고 있어야 한다!!