알고리즘 연습

알고리즘 연습/백준

[Python - 24511] queuestack (S3)

문제24511번: queuestack문제 이해queuestack : 1, 2, ..., N번의 자료구조(큐 or 스택)가 나열되어 있으며 각 자료구조에는 한 개의 원소가 들어 있음queuestack의 작동x0 입력x0을 1번 자료구조에 삽입한 뒤 1번 자료구조에서 pop, pop 된 원소는 x1x1을 1번 자료구조에 삽입한 뒤 1번 자료구조에서 pop, pop 된 원소는 x2...xn-1을 1번 자료구조에 삽입한 뒤 1번 자료구조에서 pop, pop 된 원소는 xnxn 반환입력받은 M개의 정수(C)를 queuestack에 차례로 삽입했을 때의 반환값(xn)을 출력출력 예시자료구조가 어떤 형태인지 글로는 한 번에 와닿지는 않는다. 첫 번째 출력 예시로 확인해 보자.N = 4A = [0, 1, 1, 0]B ..

알고리즘 연습/백준

[Python - 28278] 스택 2 (S4)

문제20278번: 스택 2문제 이해문제에 주어진 방식의 스택을 구현 (총 5개)풀이Deque 라이브러리 학습을 위해 List가 아닌 collections의 deque 라이브러리 사용각 입력에 따른 결과를 나타낼 수 있도록 코딩코드sys.stdin.readline 함수는 일반적으로 input 함수보다 빠르기 때문에 2-3줄은 코딩 테스트에서 거의 필수로 적고 시작하는 코드이다. deq.append(end[2:-1]) 부분은 첫 부분의 명령어와 공백을 제외한 정수 부분을 인덱싱 한다.from collections import dequeimport sysinput = sys.stdin.readlinedeq = deque()N = int(input())for i in range(N): cmd = input..

알고리즘 연습/프로그래머스

[Python - Lv.3] 정수 삼각형

문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 이해꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾음아래로 이동할 때는 대각선 오른쪽/왼쪽 한 칸으로만 이동 가능배열 triangle이 주어질 때, 최댓값을 반환하도록 작성풀이 (1)배열 triangle을 len(triangle) - 2(마지막에서 한 칸 위)부터 역으로 순회하여 수를 더함대각선 한 칸 아래 오른쪽/왼쪽 중에 더했을 때, 더 큰 값을 해당 칸에 대입코드 문제에 제공된 예로 순서를 설명하면, [2, 7, 4, 4]가 나타난 행부터 순회를 시작한다. 그리고 2+..

알고리즘 연습/프로그래머스

[Python - Lv.3] 이중우선순위큐

문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 이해이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조I 숫자 : 큐에 주어진 숫자 삽입D 1 : 큐에서 최댓값 삭제D -1 : 큐에서 최솟값 삭제연산 operations을 처리한 뒤 큐가 비어있으면 [0, 0], 비어있지 않으면 [최댓값, 최솟값] 반환빈 큐에 데이터를 삭제하라는 연산일 경우 해당 연산 무시풀이 (1)operations의 입력에 맞게 조건문을 작성하여 index, max, min, pop 메서드를 활용하여 해결시간 복잡도가 O(n)인 메소드들을 마구잡이로 섞어서 시간 초과가 나올 것이..