inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바스크립트로 배우는 자료구조 & 알고리즘 (개념+문제풀이)

[문제 풀이] 명령어 수행하기 (큐) ⭐️

큐 구현 관련

52

이민재

작성한 질문수 7

0

현재 queue는 따로 구현하지 않고 shief() 메서드를 이용하고 있는데 queue 구현하지 않고 shief()로 했을 때 성능차이 크게 없을까요? 코딩 테스트 시에도 이렇게 진행해도 되는 지 여쭤보고 싶습니다.

javascript 코딩-테스트 알고리즘 data-structure

답변 2

0

Kyo

shift메서드 말씀하시는거죠?? 테스트시에 별도의 제한이없다면 대부분의 경우 사용하시면 될것같습니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 이민재님.

질문하신 내용에 대해 답변드리겠습니다. shift() 메서드를 사용하여 큐를 구현하는 경우와 큐를 별도로 구현하는 경우, 성능 차이가 있을 수 있습니다. 특히 규모가 큰 데이터를 다룰 때, shift() 메서드는 배열의 첫 요소를 제거하고 모든 뒤 요소를 한 칸씩 앞으로 이동시키기 때문에 시간 복잡도가 O(n)입니다.

  1. 성능 차이:

    • shift() 메서드로 큐를 구현할 경우, 시간이 많이 소요됩니다. 특히, 반복적인 shift() 호출이 발생하면 성능 저하를 유발할 수 있습니다.
    • 직접 큐를 링크드 리스트나 다른 자료구조로 구현할 경우, 삽입 및 삭제가 O(1) 시간에 가능하여 더 효율적입니다.
  2. 코딩 테스트 시:

    • 코딩 테스트에서는 성능을 중요하게 여기기 때문에 특히 대량의 데이터가 다뤄질 경우, 직접 구현한 큐가 더 유리할 수 있습니다.
    • 기본 제공 메서드인 shift()로 구현해도 무방할 수 있지만, 문제의 성격과 데이터 양에 따라 성능을 고려할 필요가 있습니다.

큐를 구현하는 방법이나 성능 관련 문의는 이 게시물도 참고하시면 도움이 될 것입니다. 제가 추천드릴 수 있는 방법으로, 코딩 테스트 연습 문제를 풀어보시면서 두 방식 간의 성능 차이를 직접 경험해 보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

3강 질문

0

9

1

갑자기 채점 사이트가 바뀌었어요

0

14

1

74. 데이터 캐시 - 1 (이론) 강의 영상 누락

0

20

1

2강 nodejs 3단계 설명 질문

0

28

1

문제 리스트 페이지

0

19

1

part8 Notion 링크

0

17

1

채점 사이트 관련 질문드립니다

0

17

1

2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.

0

48

2

imagesLoaded에 관한 질문

0

18

2

useEffect와 lifecycle문의

0

26

2

2주차 개념#12 트리 순회

0

24

2

프론트엔드 학습 수준 문의

0

33

2

백준 사이트 서비스 종료

0

105

3

잠겨버린 사물함 시간초과 관련 질문입니다.

0

25

1

생산 공정 최적화 (이분탐색) worst Case 수정

0

52

1

버블정렬

0

46

1

학습 방향성에 대한 문의

1

75

2

난이도 질문

0

90

2

강의 구현 코드

0

90

2

테스트 케이스 관련

0

71

1

연결리스트 뒤집기

0

71

2

공부방법 문의

0

75

1

알고리즘 개념에 대한 추천 자료문의

0

68

1

강의에 나온 selection 코드에 오류가 있습니다.

0

119

2