[Data Structure] 스택, 큐

Error Coder·2022년 9월 22일
0

자료구조&알고리즘

목록 보기
2/10

프로그래머스 스택, 큐 Lv.1 테스트를 보던 중(같은 숫자는 싫어)

def solution(arr):
    answer = []
    answer.append(arr[0])

    for i in range(1, len(arr)):
        if arr[i] != arr[i-1]:
            answer.append(arr[i])

    return answer

내 코드는 for 반복문을 돌렸지만 효율성에서 좋지 않은 모습을 보였다.
처음부터 다시 돌리고 또 돌리는 모습이라고 한다.
이제 효율성까지 따지는 코드를 짜자니 뭔가 감회가 새롭고 신기했다.
그러면서 한편으로는 자극이 되었다.

  • Stack : 후입선출의 원리, 나중에 넣은 데이터가 먼저 반환되도록 설계된 메모리 구조
    데이터의 입력은 Push라 부르고, 출력은 Pop이라 칭한다.

  • Queue: 큐는 줄이라는 의미인데, 먼저 줄 선 데이터가 먼저 반환되도록 한다는 의미
    (선입선출의 원리), 스택(Stack)과 반대되는 개념이다.

출처 : https://tali.tistory.com/1311

(친구가 칭찬한 코드) - 스택, 큐를 잘 활용하여 나타낸 코드

def no_continuous(s):
    result = []
    for c in s:
        if (len(result) == 0) or (result[-1] != c):
            result.append(c)
    return result
profile
개발자 지망생

0개의 댓글