본문 바로가기

Stack4

[백준] [Python] #9012 괄호 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 중간에 풀다가 막혔는데 is_empty라는 flag를 넣음으로서 해결함 '('면 append하고 아니면 pop하는데, 마지막에 stack에 뭐가 남아있으면 NO만 하려 했더니 걸러지지 않는 케이스가 있었다 ')' 같은 경우가 그러했다. 애초에 '('이 append된 적이 없어서 stack이 비어있거나, '('보다 ')'갯수가 더 많은 경우 그러했다. 따라서 비정상적인.. 2021. 9. 25.
[백준] [Python] #2504 괄호의 값 https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net 1단계. Stack임을 알아챈다! 2단계. 괄호 별로 수행하는게 다르기 때문에 (, ), [, ] 각각 if로 분기친다 + 쌍이 안맞는 괄호 걸러내기 3단계. 계산이 복잡함을 깨닫고 새로운 flag역할을 할 tmp를 추가한다 4단계. 괄호 기호만 stack에 넣는게 아니라 계산 값도 동시에 stack으로 관리한다 - 계산 값만 따로 관리할 여러 방법을 생각해봤는데 괄호안에 괄호가 있는 거라 함께.. 2021. 9. 25.
[프로그래머스] [Python] Level2_주식가격 https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 1차 시도 def solution(prices): answer = [0 for i in range(0,len(prices))] prices_r = prices[::-1] for i in range(1,len(prices_r)): #앞에 나보다 작으면 break if prices_r[i-1] < prices_r[i]: an.. 2021. 8. 5.
[프로그래머스] [Python] Level2_기능개발 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr - 반환 순서에 집착하면 Stack / Queue문제이다 - 업데이트 되는 값을 꼭 다 저장할 필요는 없다 - While은 조건이 True일 때, 실행의 반복이다 조건문이 아니다 def solution(progresses, speeds): answer = [] cnt = 0 #FIFO -> stack while(progresses): if progress.. 2021. 8. 3.