• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

코드 리뷰 부탁드립니다.

23.09.10 17:31 작성 조회수 268

0

function solution(size, arr) {
        let answer = [0, 0, 0, 0, 0];
        arr.forEach((element) => {
          if (!answer.includes(element) && answer.length !== size) {
            answer.unshift(element);
          } else if (!answer.includes(element) && answer.length === size) {
            answer.pop();
            answer.unshift(element);
          } else if (answer.includes(element)) {
            let index = answer.findIndex((el) => el === element);
            let tmp = answer[index];
            answer.splice(index, 1);
            answer.unshift(tmp);
          }
        });
        return answer;
      }

forEach안에서 for문을 돌지 않고 짜봤습니다.

좀 코드가 지저분한것 같은데 괜찮은 코드일까요?
감사합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요^^

잘 하신 코드입니다.

한 가지 말씀드리자면 includes 함수는 시간복잡도가 O(n)입니다. 즉 반복문이나 다름없습니다.