알고리즘 고득점 kit - 스택/큐 - lv 1
문제 분석
- 배열 arr 의 원소는 0부터 9까지
- 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거
- 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지
코드 설계
- 만약 answer 배열이 비어있다면 값을 넣고
- answer이 비어있지 않고
- 배열의 마지막 값이 입력하려는 값과 같지 않다면
- answer 배열에 추가
정답 코드
def solution(arr):
answer = []
for i in arr:
if answer :
if i != answer[-1] : # answer에 값이 있다면
answer.append(i)
else : # answer에 값이 없다면
answer.append(i)
return answer
다른 사람 코드 1
def solution(arr):
answer = []
for i in arr :
if answer[-1:] == [i] :
continue
answer.append(i)
return answer
- [ -1 : ] : 처음부터 마지막 미만
다른 사람 코드 2
def solution(arr):
stack = [-1]
for i in range(len(arr)):
if stack[-1] != arr[i]:
stack.append(arr[i])
return stack[1:]
2회차 - 2024.11.26
- answer안에 값이 있을 때, 마지막 리스트 값이 현재 넣으려는 값과 같다면 continue
- 다르면 append
def solution(arr):
answer = []
for i in arr :
if answer and answer[-1] ==i:
continue
else :
answer.append(i)
return answer
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[Python] 프로그래머스 lv.2 기능개발 (0) | 2024.10.15 |
---|---|
[Python] 프로그래머스 lv.2 주식가격 (1) | 2024.10.15 |
[Python] 프로그래머스 문자열 뒤의 n 글자 (0) | 2024.10.15 |
[Python] 프로그래머스 부분 문자열 이어 붙이기 (0) | 2024.10.12 |
[Python] 프로그래머스 배열 만들기 5 (0) | 2024.10.12 |