📌 프로그래머스: [같은 숫자는 싫어]
🔗 문제 링크
문제 접근 방식 💡
- 주어진 리스트에서 연속된 중복 숫자를 제거하고 순서를 유지하는 문제.
- answer 리스트의 마지막 값과 비교하여 다를 경우에만 추가.
- 첫 번째 요소는 무조건 포함하므로 미리 answer.append(arr[0])을 수행.
Solution 💻
def solution(arr):
answer = [arr[0]]
for i in arr[1:]:
if answer[-1] != i:
answer.append(i)
return answer
시간 복잡도 분석 ⏲️
- 시간 복잡도: O(N),
- 리스트를 한 번 순회하면서 조건 확인 후 append() 연산 수행.
- 공간 복잡도: O(N),
- 중복이 없는 경우 모든 요소를 저장하므로 입력 크기 N에 비례.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스: [모의고사] (0) | 2025.03.10 |
---|---|
프로그래머스: [K번째 수] (0) | 2025.03.10 |
프로그래머스: [단어 변환] (0) | 2025.03.08 |
프로그래머스: [전력망을 둘로 나누기] (0) | 2025.03.08 |
프로그래머스: [베스트앨범] (0) | 2025.03.08 |