728x90
- 오늘의 학습 키워드 : 스택/큐
- 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12906
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 제출한 코드 :
def solution(arr):
answer = []
answer.append(arr[0])
for i in range(1,len(arr)): #1234567...
if answer and answer[-1] == arr[i]:
answer.pop()
answer.append(arr[i])
return answer
- 오늘의 회고
스택 (Stack)
스택은 후입선출(LIFO, Last In First Out) 구조입니다. 파이썬에서는 주로 리스트를 사용하여 스택을 구현합니다.
- 리스트 사용: 파이썬 리스트의 append()와 pop() 메서드를 사용하여 스택을 구현할 수 있습니다.
큐 (Queue)
큐는 선입선출(FIFO, First In First Out) 구조입니다. 파이썬에서는 주로 collections.deque를 사용하여 큐를 구현합니다.
- deque 사용: collections.deque는 양쪽 끝에서 빠른 추가와 삭제가 가능한 덱(deque)을 제공합니다.
스택과 큐의 정의는 이러한데,
나는 스택의 방법으로 풀게 되었다.
def no_continuous(s):
# 함수를 완성하세요
a = []
for i in s:
if a[-1:] == [i]: continue
a.append(i)
return a
다른 사람들은 append함수만 이용해서 풀긴했는데, 나는 스택이 후입선출로 된 자료구조이다보니까 그 특성을 살려서 pop()함수도 쓰고싶어서 맨 위의 코드 처럼 작성했다!
참고로
answer[-1]는 파이썬의 리스트 인덱싱 방법 중 하나로, 리스트의 마지막 요소를 가리킨다. 파이썬에서 음수 인덱스를 사용하면 리스트의 끝에서부터 요소를 참조할 수 있습니다. 예를 들어, answer[-1]은 answer 리스트의 마지막 요소를 의미한다.
728x90
'이직하고만다(분노)' 카테고리의 다른 글
99클럽 코테 스터디 9일차 TIL + 프로그래머스 힙(heap) (0) | 2024.07.31 |
---|---|
99클럽 코테 스터디 8일차 TIL + 프로그래머스 스택/큐 (0) | 2024.07.29 |
[3기] 99클럽 코테 스터디 6일차 TIL : 프로그래머스 해시 (0) | 2024.07.28 |
[3기] 99클럽 코테 스터디 5일차 TIL : 프로그래머스 해시 (0) | 2024.07.27 |
[3기] 99클럽 코테 스터디 4일차 TIL : 프로그래머스 문자열 (0) | 2024.07.25 |