문제) 같은 숫자는 싫어
코딩테스트 연습 - 같은 숫자는 싫어
배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은
programmers.co.kr
- 내 풀이
- answer에 값을 넣기 전에 비어있으면 비교가 불가능 하므로 answer[0]에 값을 넣어두고 이후에 지움
def solution(arr):
answer=[10]
for i in arr:
if i==answer[-1]:
continue
answer.append(i)
del answer[0]
return answer
print(solution([1,1,1,3,3,0,1,1]))
#결과
[1,3,0,1]
- 다른 사람 풀이
- list[-1:] : 비어 있는 리스트에서도 사용 가능
→ 슬라이스를 사용하면 값이 아닌 리스트의 일부를 잘라서 새로운 리스트를 생성
→ 슬라이싱은 인덱스 값이 범위를 초과해도 오류X
: 비교 대상이 리스트가 되어야 함 [i]=answer[-1:]
def solution(arr):
answer=[]
for i in arr:
if [i]==answer[-1:]:
continue
answer.append(i)
return answer
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] [Level 1] 가운데 글자 가져오기 (0) | 2022.03.06 |
|---|---|
| [프로그래머스] [Level 1] [2018 KAKAO BLIND RECRUITMENT] [1차] 다트게임 (0) | 2022.03.06 |
| [프로그래머스] [Level 1] 나누어 떨어지는 숫자 배열 (0) | 2022.03.05 |
| [프로그래머스] [Level 1] 두 정수 사이의 합 (0) | 2022.03.02 |
| [프로그래머스] [Level 1] 문자열 내 마음대로 정렬하기 (0) | 2022.03.02 |