인프런 커뮤니티 질문&답변

GUKKE님의 프로필 이미지
GUKKE

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

1. 두 배열 합치기(Two Pointers Algorithm)

어떻게 푸는 것이 더 옳은 방법인가요?

작성

·

241

0

문제를 보고 저는 최대한 간결하게 아래의 코드처럼 작성을 하였습니다.

function solution(arr1, arr2) {
  const answer = [...arr1].concat(arr2).sort((a, b) => a - b);
  return answer;
}

그리고 해설을 봤더니 강사님은 포인터를 사용하셔서 작성해주셨는데 코딩테스트에서 이런 비슷한 유형의 문제가 나왔을 때 포인터와 같은 풀이를 사용해서 작성하는 것이 옳은 방법인가요? 아니면 최대한 빨리 간결하게 작성하는 것이 옳은 방법인가요?

물론 지금은 배우는 단계이니 포인터를 사용하는것이 맞지만 실제 코딩 테스트에서는 어떤 방법이 더 권장되는지 궁금합니다.

답변 1

3

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

영상에 두 개의 포인터를 써서 하는게 시간복잡도(처리속도)가 더 좋습니다.

위에 방법은 코드는 한 줄일지 모르지만 컴퓨터가 처리하는 연산횟수는 영상의 방법보다 더 많습니다. 코드가 짧다고 시간복잡도(처리속도)가 좋은 건 아닐 수도 있습니다.

그리고 영상의 방법을 알아야 나중 고급알고리즘인 병합정렬같은 것을 할 수있습니다.

GUKKE님의 프로필 이미지
GUKKE

작성한 질문수

질문하기