본문 바로가기
🔅코딩테스트 공부🔅/❗프로그래머스(Lv.1)

[프로그래머스] Level1 같은 숫자는 싫어(with python)

by 윤무무 2023. 1. 29.

 

https://school.programmers.co.kr/learn/courses/30/parts/12081

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

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 하면 된다..

 

대단한 사람들..

댓글