호기심 많은 분석가
[프로그래머스] 연습문제 - 같은 숫자는 싫어 (Python) 본문
from collections import deque
def solution(arr):
arr = deque(arr)
answer = []
answer.append(arr.popleft())
while arr :
input_val = arr.popleft()
if answer[-1] != input_val :
answer.append(input_val)
return answer
여러 방법으로 풀다가 효율성에서 걸리던 와중 가장 좋은 풀이를 찾았다. 문제에 조건에 맞춰 배열의 앞에서부터 하나씩 없애주면서 결과값에 없는 값들만 추가해주었는데, pop(0)로 하니까 효율성에서 걸렸다. 그래서 더 빠른 알고리즘인 deque의 popleft()를 사용해서 해결했다.
from collections의 deque import 꼭 기억해두자
'Coding > Coding Test & Algorithm' 카테고리의 다른 글
[MySQL] Hackerrank - Weather Observation Station 6 (0) | 2021.10.08 |
---|---|
[프로그래머스] 월간 코드 챌린지 시즌1 - 3진법 뒤집기 (Python) (2) | 2021.07.02 |
[프로그래머스] 2018 KAKAO BLIND RECRUITMENT - [1차] 뉴스 클러스터링 (3) | 2021.06.30 |
[프로그래머스] 스택_큐 - 기능개발 (Python) (0) | 2021.06.28 |
[프로그래머스] 완전탐색 - 모의고사 (Python) (0) | 2021.06.28 |