https://programmers.co.kr/learn/courses/30/lessons/12906
코딩테스트 연습 - 같은 숫자는 싫어
배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은
programmers.co.kr
풀이 과정
리스트에서 연속적으로 나오는 숫자를 제거한 리스트를 반환해주면 된다. 파이썬의 리스트에서 중복을 제거하는 방법은 list를 set 자료형으로 바꿨다가 다시 list로 바꾸는 방법이 널리 알려져 있지만, 이러면 list의 순서가 보존되지 않으므로 다른 방법을 이용해야 한다.
list내의 숫자를 하나하나씩 살펴보면서 이전에 살펴봤던 숫자와 같은 숫자이면 정답 list에 넣지 않고, 다른 숫자이면 정답 list에 넣는 방식으로 문제를 해결하였다.
소스 코드
def solution(arr):
answer = []
check = -1
for number in arr:
if check != number:
answer.append(number)
check = number
return answer
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 두 정수 사이의 합 [파이썬] (0) | 2022.06.17 |
---|---|
프로그래머스 - 나누어 떨어지는 숫자 배열 [파이썬] (0) | 2022.06.16 |
프로그래머스 - [1차] 비밀지도 [파이썬] (0) | 2022.06.15 |
프로그래머스 - 부족한 금액 계산하기 [파이썬] (0) | 2022.06.15 |
프로그래머스 - 나머지가 1이 되는 수 찾기 [파이썬] (0) | 2022.06.15 |