JS 100제(1) 자바스크립트 자료형의 복잡도✅

근듀·2023년 3월 13일
0

JS 100제(1)

목록 보기
31/32
post-thumbnail

다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오.


1) arr[i]
2) arr.push(5)
3) arr.slice()
4) arr.pop()
5) arr.includes(5)

✔️ 정답

3번, 5번

3번 : slice의 경우 배열을 복사한다. 복사하기 위해서는 빈값을 만들고 원래 값을 돌면서 push작업을 해준다.

5번: includes는 처음 값부터 하나하나씩 다 찾으면서 값이 들어있는지 확인하기 때문에 O(n)이다.

👩🏻‍💻 나의 정답

X
문제 자체도 이해가안가...

참고자료 러닝워터의 개발 블로그

  1. 배열[i]
  • 배열의 인덱스번호, 인덱스를 통해서 바로 값을 읽을 수 있다.
let nums = [2,3,4]
nums[2] = 4
  1. 배열.push(5)
  • 배열의 끝 요소에 추가하는 방법
ex)
let nums = [2,3,4]
nums.push(5)
[2,3,4,5]
  1. 배열.slice()
  • 배열로부터 특정 범위를 복사한 값들을 담고 있는 새로운 배열을 만드는데 사용한다.
ex)
nums.slice(5,10)
[5,6,7,8,9]
  1. 배열.pop()
  • 배열의 마지막 요소를 제거하는 방법
ex)
let nums = [2,3,4,5]
nums.pop();
[2,3,4]
  1. 배열.includes(5)
  • 배열이 특정값을 포함하고 있는지의 여부를 boolean값으로 반환한다.
ex)
let nums = [2,3,4]
nums.includes(5)
false

💯알고가기

  1. 빅 오(O())란 무엇인가
  • 무언가를 실행하는데 필요한 단계수를 나타내는게 빅오라고 할 수 있다.
    즉, 빅오는 알고리즘에 필요한 단계수를 나타내는 것이다.
  1. O(1)의 의미
  • "빅 오 1"이라고 읽는다.
    뜻을 설명하자면 1은 단계수를 나타낸다. 즉, 한단계가 걸린다는 것이다.
    O(n)의 의미
  • "빅 오 엔"이라고 읽는다.
    n의 단계수를 나타낸다.
profile
프론트엔드 개발자 취준생입니다.

0개의 댓글