inflearn logo
강의

Course

Instructor

Coding Test Core for Beginners (Theory and Problem Solving) [Python]

[Problem 5] Remove Duplicates

[문제 5번] 중복제거

150

parksangil99

10 asked

0

혹시 입력 받은 배열을 list(set(배열명))을 통해 중복을 제거한 후 deque 자료구조로 바꾸면 시간 복잡도상 문제가 될까요?

python 코딩-테스트

Answer 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

parksangil99님의 질문에 답변 드리겠습니다.

list(set(배열명))을 사용하여 배열에서 중복을 제거한 후, deque 자료구조로 변환하는 과정에서의 시간 복잡도를 고려해보겠습니다.

  1. set(배열명)을 통한 중복 제거 과정은 평균적으로 O(N)의 시간 복잡도를 가집니다. 여기서 N은 배열의 원소 개수입니다. set 자료구조는 해시 테이블을 기반으로 하며, 각 원소의 해시 값을 계산하여 중복 여부를 평균적으로 상수 시간에 체크할 수 있습니다.

  2. list(set(배열명))으로 변환하는 과정은 set에서 리스트로의 변환 과정을 포함하며, 이 역시 O(N)의 시간 복잡도를 가집니다.

  3. 마지막으로 deque로의 변환 과정은 리스트를 deque로 변환하기 때문에, 이 과정 역시 O(N)의 시간 복잡도를 가집니다.

종합하자면, 전체 과정은 세 단계 모두 O(N)의 시간 복잡도를 가지기 때문에, 전체 과정의 시간 복잡도 역시 O(N)이 됩니다. 따라서 큰 시간 복잡도상의 문제는 없어 보입니다. 하지만, 실제 사용 시에는 원본 배열의 크기, 중복 원소의 분포 등에 따라 성능에 차이가 발생할 수 있음을 유념하시기 바랍니다.

질문에 대한 답이 되었기를 바랍니다. 추가 질문이 있으시면 언제든지 문의해주시길 바랍니다.

백준 서비스 종료인데 도전 과제 프로그래머스 문제로 올려주실수 있으신가요

0

59

1

도전과제 질문있습니다

0

69

2

안녕하세요 강사님 파이썬 커리큘럼 문의드립니다..

0

86

2

두수의합 sorting 질문

0

141

1

두수의합 Counter 사용

0

161

2

[문제3번] 두수의 합 : O(nlogn)

0

136

1

set을 활용한 중복제거

0

198

2

최소값의 위치

0

139

1

백준 사용 시 채점 언어

0

174

1

백준 10546 배부른 마라토너

0

154

1

고정된 숫자 문제 질문

0

209

2

답은 맞는거같은데 틀렸어요

0

202

1

강의 커리큘럼 질문있습니다.

0

239

1

배열리스트 문제 5번 <중복 제거> 질문입니다.

0

275

1

체크배열을 set 으로 사용해도될까요?

0

248

1

연결리스트의 삽입과 삭제에서 시간복잡도.

0

352

1

내장 함수들의 시간복잡도는 외워둬야하나요?

0

236

1

중복 제거

0

340

1

카드 점수 정확성 테스트 경우의 수 문의

0

187

1

완강 후 후속 강의, 공부법 질문..

0

372

2

cnt = 1 과 nums.sort() 의 순서가 바뀌어야하지 않나요?

0

274

2

nums 조건오류인가요?

2

303

1

최솟값의 위치

0

244

2

강의 3-6 두수의 합(해시) 질문

0

311

1