답변 2
0
0
안녕하세요, wodms4525님 :)
3번 arr.slice()에서 slice()는 지정한 start 부터 end까지 복사하여 새로운 객체를 만드는 함수이며, 입력 데이터 크기와 배열의 길이에 따라 처리 시간이 달라지기 때문에 3번의 시간복잡도는 O(n)이 됩니다.
5번 arr.includes(5)에서 includes()는 배열이 특정 값을 포함하는지 확인하는 함수입니다.
배열 arr에 5가 포함되어 있는지 검사할 때 arr[0]부터 검사하고 최악의 경우는 배열의 마지막 원소까지 검사해야 합니다. 따라서 5번의 시간복잡도 역시 O(n)이 됩니다.
* O(1) : 입력 데이터에 상관없이 일정한 시간의 알고리즘. (상수 형태)
* O(n) : 입력 데이터의 크기와 배열의 길이에 비례한 시간이 걸리는 알고리즘. (선형)
혹시 답변이 충분하지 않거나 이해 되지 않는 부분이 있다면 답글 부탁드립니다.
감사합니다 :)