티스토리 뷰
반응형
https://programmers.co.kr/learn/courses/30/lessons/86048
⊙ 문제
⊙ 제한사항
⊙ 입출력 예
⊙ 문제 접근 과정
리스트를 먼저 덱으로 변경해줬다.
그다음 스택을 만들어주어 스택에 값이 없다면 enter에서 맨 앞에 값을 빼온다.
그리고 leave 순서가 되기 전까지 enter의 맨 앞의 값을 빼와 stack에 계속 넣어준다.
그러다가 스택에 leave값이 있다면 제거해주고 stack에 값들을 count 해준다.
마지막으로 index 0부터가 아닌 1부터 출력을 해준다.
⊙ 문제 풀이
from collections import deque
def solution(enter, leave):
result = [0] * (len(enter)+1)
enter, leave = deque(enter), deque(leave)
stack = []
while leave:
if not stack:
stack.append(enter.popleft())
while enter and leave[0] not in stack:
stack.append(enter.popleft())
N = leave.popleft()
stack.remove(N)
for s in stack:
if s != N:
result[N] +=1
result[s] +=1
return result[1:]
⊙ 마무리
NONE
좋아요는 로그인하지 않아도 누를 수 있습니다!
728x90
반응형
'프로그래머스 > PYTHON [파이썬]' 카테고리의 다른 글
[백준(BOJ)] 1202번 : 보석 도둑 - PYTHON[파이썬] (0) | 2021.09.25 |
---|---|
[프로그래머스] 코딩테스트 연습 : 타겟 넘버 - PYTHON[파이썬] (0) | 2021.09.25 |
[백준(BOJ)] 14676번 : 영우는 사기꾼? - PYTHON[파이썬] (0) | 2021.09.19 |
[프로그래머스] 코딩테스트 연습 : 복서 정렬하기 - PYTHON[파이썬] (0) | 2021.09.19 |
[프로그래머스] 코딩테스트 연습 : 체육복 - PYTHON[파이썬] (0) | 2021.09.14 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 그리디
- py
- JS
- 풀이
- 문자열
- 정답
- OS
- C++
- 자바스크립트
- 정렬
- 쉽게배우는자바프로그래밍
- java
- 자바
- 구현
- CPP
- 운영체제
- 답
- BFS
- 쉽게배우는
- 프로그래머스
- 우종정
- 파이썬
- Web
- 백준
- 해답
- Python
- 쉽게 배우는 자바 프로그래밍
- 정리
- 연습문제
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함