Stack 4

[코테 - py] 뒤에 있는 큰 수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr #  첫번째 푼 코드 - 시간초과- 첫번째 코드는 기준 수보다 뒷 수를 순회하면서 가깝고 큰 수를 구하는 흐름으로 코드를 작성했다.하지만 이렇게 하면 최악의 경우 O(n^2) 의 시간복잡도가 발생한다.최대의 numbers의 길이가 1,000,000 이기 때문에 시간초과가 발생한다.def solution(numbers): answer = [] for i in range(len(numbers..

[코테 - py] 프로그래머스 짝지어 제거하기

1. 문제짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 제한사항 문자열의 길이 : 1,000,000이하의 자연수 문자열은 모두 소문자로 이루어져 있습니다. 입..

[코테 - py] 백준 1935번 후위 표기식2

1. 문제후위 표기식과 각 피연산자에 대응하는 값들이 주어져 있을 때, 그 식을 계산하는 프로그램을 작성하시오.2. 입력첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이는 100을 넘지 않는다) 그리고 셋째 줄부터 N+2번째 줄까지는 각 피연산자에 대응하는 값이 주어진다. 3번째 줄에는 A에 해당하는 값, 4번째 줄에는 B에 해당하는값 , 5번째 줄에는 C ...이 주어진다, 그리고 피연산자에 대응 하는 값은 100보다 작거나 같은 자연수이다.후위 표기식을 앞에서부터 계산했을 때, 식의 결과와 중간 결과가 -20억보다 크거나 같고, 20억보다 작거나 같은..

[알고리즘, 자료구조] Queue , Stack

1. Queue - 선입선출 (FIFO) - 먼저 저장한 데이터가 먼저 출력 -> enqueue : rear에 데이터가 추가 -> dequeue : front에서 데이터를 꺼냄 1) List 기반 Queue 구현 enqueue - O(1) dequeue - O(n) 2) LinkedList 기반 Queue 구현 enqueue - O(1) dequeue - O(1) # list 기반 queue q = [] # enqueue O(1) q.append(1) q.append(2) q.append(3) # dequeue O(n) q.pop(0) q.pop(0) #linked List 기반 queue from collections import deque # queue 선언 q = deque() # enqueue O..