문제 바로가기 👉 프로그래머스
☑️ 문제 요약
배열 arr에서 연속적으로 중복된 숫자를 하나만 남기고 제거해야 합니다.
남은 숫자들의 순서는 유지해야 합니다.
제한 사항
• arr의 길이는 최대 1,000,000
• arr의 원소는 0~9 사이의 정수
☑️ KEY 포인트
- 반복문을 통해서 배열의 첫번째 숫자부터 그 다음 숫자와 비교하며 체크해 나간다.
- 2가지의 갈래로 경우의 수를 나눠야 한다.
(1) 배열의 끝자리일 때와 아닐 때
(2) 현재 숫자가 다음 숫자와 같을 때와 아닐 때 - 배열의 끝자리가 아닐 때, 현재 숫자와 다음 숫자를 비교하여 두 수가 다르면 현재 숫자를 answer 리스트에 추가
- 현재 숫자가 배열의 끝자리일 경우 무조건 answer 리스트에 추가
☑️ 해결 코드
def solution(arr):
answer = []
for i in range(len(arr)):
if i == (len(arr)-1):
answer.append(arr[i])
else:
if arr[i] != arr[i+1]:
answer.append(arr[i])
return answer
'Coding Test > Algorithm #Python3' 카테고리의 다른 글
[백준] 괄호 #자료구조 #알고리즘 (0) | 2025.03.31 |
---|---|
[백준] 단어 뒤집기 #자료구조 #알고리즘 (0) | 2025.03.30 |
[백준] 정수 저장 및 명령 처리 프로그램 #스택 #알고리즘 (1) | 2025.03.27 |
[프로그래머스] K번째수 #정렬 #알고리즘 (0) | 2025.03.21 |
[프로그래머스] 폰켓몬 #해시 #알고리즘 (2) | 2025.03.19 |