https://school.programmers.co.kr/learn/courses/30/parts/12081
1. 내가 작성한 코드
def solution(arr):
answer = []
answer.append(arr[0])
for i in range(len(arr)-1):
if arr[i] == arr[i+1]:
pass
else:
answer.append(arr[i+1])
return answer
문자열을 비교하며 새로운 list에 삽입하는 방식으로 문제를 해결했다.
풀긴 했지만 이 문제의 중분류는 '스택/큐'이기 때문에
다른 분들의 코드 중, stack을 이용한 풀이를 찾아보았다.
2. 스택 이용 코드
def no_continuous(s):
result = []
for c in s:
if (len(result) == 0) or (result[-1] != c):
result.append(c)
return result
위와 같이 top에 있는 원소와 같지 않으면 append 하면 된다..
대단한 사람들..
'🔅코딩테스트 공부🔅 > ❗프로그래머스(Lv.1)' 카테고리의 다른 글
[프로그래머스] Level1 문자열 내 p와 y의 개수(with python) (0) | 2023.01.30 |
---|---|
[프로그래머스] Level1 문자열 내림차순으로 배치하기(with python) (0) | 2023.01.30 |
[프로그래머스] Level1 두 정수 사이의 합(with python) (0) | 2023.01.29 |
[프로그래머스] Level1 나누어 떨어지는 숫자 배열(with python) (0) | 2023.01.29 |
[프로그래머스] Level1 가운데 글자 가져오기(with python) (0) | 2023.01.29 |
댓글