일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 수학
- BOJ
- level1
- 다이나믹 프로그래밍
- 그리디
- 에라스토테네스의 체
- 운영체제
- N과M
- 딕셔너리
- DP
- programmers
- dfs
- 파이썬
- MYSQL
- 백준
- 스택
- 코딩테스트
- 가상메모리 관리
- BFS
- 가상메모리
- python
- 구현
- level3
- 다익스트라
- 힙
- level2
- level0
- 재귀
- 브루트포스
- 프로그래머스
- Today
- Total
목록스택 (9)
동캄의 코딩도장
https://www.acmicpc.net/problem/3986#백준 3986 좋은 단어N=int(input())ans=0for _ in range(N): success_flg=True stack=[] lst=list(map(str,input())) for element in lst: if not stack: stack.append(element) else: if element==stack[-1]: stack.pop() else: stack.append(element) if not stack and success_flg: ans..
https://www.acmicpc.net/problem/17298 스택이라고 생각을 해서 그런지 쉽게 풀었다. 이제 어떤 경우에 스택을 사용해야 할지 조금씩 감이 잡히는 듯 하다.#백준 17298 오큰수import sysN=int(sys.stdin.readline()) # N 입력처리lst=list(map(int,sys.stdin.readline().split())) # 받을 데이터 처리stack=[] # 스택 생성ans=[] # 정답 저장할 리스트 생성for i in range(N-1,-1,-1): #뒤에서부터 element=lst.pop() #element 추출 if not stack: # 스택이 비어있다면 ans.append(-1) # -1 ans 추가 stac..
https://www.acmicpc.net/problem/6198#백준 6198 옥상 정원 꾸미기import sysN=int(sys.stdin.readline().rstrip()) # N 입력 처리buildings=[] #빌딩의 값을 저장할 스택 생성cnt=0ans=0for i in range(N): curr_building=int(sys.stdin.readline()) #현재 비교할 빌딩 입력 처리 if buildings: # 스택에 값이 있다면 if buildings[-1]>curr_building: #스택 마지막 값(빌딩 높이) > 현재 비교할 값(빌딩 높이) buildings.append(curr_building) #스택에 추가 cnt..
https://www.acmicpc.net/problem/9012간단한 스택 구현 문제다.import sysN=int(sys.stdin.readline())for _ in range(N): lst=list(map(str,sys.stdin.readline().rstrip())) stack=[] flg=True for element in lst: if element=='(': stack.append(element) elif element==')' and stack: stack.pop() else: flg=False if flg and not stack: print('YES'..
https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 프로그래머스 level2 뒤에 있는 큰 수 찾기 def solution(numbers): answer = [-1] * (len(numbers)) #전체 -1로 세팅 stack=[] #값을 임시로 저장할 스택 for i in range(len(numbers)-1): now=numbers[i] #현재 값 next=numbers[i+1] #다음 값 if now>=next: #현재 값 >= 다음 값..
https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net # 백준 2504 괄호의 값 import sys input = sys.stdin.readline lst = list(map(str, input().rstrip())) stack = [] ans = 0 temp = 1 for i in range(len(lst)): if lst[i] == '(': stack.append(lst[i]) temp *= 2 elif lst[i] == '[': stack...