--1c72b3249cc760b1 x-next-cache-tags: _N_T_/layout,_N_T_/blog/layout,_N_T_/blog/[...slug]/layout,_N_T_/blog/[...slug]/page,_N_T_/blog/%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EB%B0%B0%EC%97%B4 vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch 코딩테스트 배열 | Hyo814`s Blog
Published on

코딩테스트 배열

Authors
  • avatar
    Name
    Hyo814
    Twitter

배열의 인덱스는 0부터 시작합니다.

배열은 차원과는 무관하게 메모리에 연속 할당 됩니다.

배열은 임의 접근이라는 방법으로 배열의 모든 위치에 있는 데이터에 단 한 번에 접근 할 수 있습니다.

따라서 데이터 접근하기 위한 시간 복잡도는 O(1)입니다.

할당 할 수 있는 메모리 크기를 확인 해야합니다.

중간에 데이터 삽입이 많은지 확인 해봐야 합니다.

배열에 데이터 추가

배열에서 데이터 삭제

고차함수를 이용해서 데이터에 특정 연산 적용

const numbers = [1, 2, 3, 4, 5]
const letters = ['a', 'b', 'c']

// 1. map: 배열의 각 요소를 변환하여 새로운 배열 생성
const doubled = numbers.map((num) => num * 2)

// 2. filter: 조건을 만족하는 요소로 새로운 배열 생성
const evens = numbers.filter((num) => num % 2 === 0)

// 3. reduce: 배열의 모든 요소를 누적 계산하여 단일 값 생성
const sum = numbers.reduce((acc, num) => acc + num, 0)

// 4. forEach: 배열의 각 요소를 순회하며 동작 수행
numbers.forEach((num) => console.log('Number:', num))

// 5. concat: 배열 또는 요소를 결합하여 새로운 배열 생성
const combined = numbers.concat(letters)

// 6. find: 조건을 만족하는 첫 번째 요소 반환
const firstEven = numbers.find((num) => num % 2 === 0)

// 7. every: 모든 요소가 조건을 만족하는지 검사 (Boolean 반환)
const allPositive = numbers.every((num) => num > 0)

// 8. some: 하나 이상의 요소가 조건을 만족하는지 검사 (Boolean 반환)
const hasOdd = numbers.some((num) => num % 2 !== 0)

// 9. sort: 배열 정렬 (기본적으로 문자열 기준)
const sortedNumbers = numbers.slice().sort((a, b) => b - a) // 내림차순

// 10. includes: 배열에 특정 값이 포함되어 있는지 검사
const hasThree = numbers.includes(3)

console.log('Doubled:', doubled)
console.log('Evens:', evens)
console.log('Sum:', sum)
console.log('Combined:', combined)
console.log('First Even:', firstEven)
console.log('All Positive:', allPositive)
console.log('Has Odd:', hasOdd)
console.log('Sorted Numbers:', sortedNumbers)
console.log('Includes 3:', hasThree)

문제 확인 하기

Untitled

--1c72b3249cc760b1--