개발공부 (Study)/알고리즘 문제

공부한 내용을 정리하고 기록합니다. 틀린 부분은 댓글로 지적 부탁드려요.

Programmers - 두 큐 합 같게 만들기 ▶ 문제 길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주합니다. 큐는 먼저 집어넣은 원소가 먼저 나오는 구조입니다. 이 문제에서는 큐를 배열로 표현하며, 원소가 배열 앞쪽에 있을수록 먼저 집어넣은 원소임을 의미합니다. 즉, pop을 하면 배열의 첫 번째 원소가 추출되며, insert를 하면 배열의 끝에 원소가 추가됩니다. 예를 들어 큐 [1, 2, 3, 4]가 주어졌을 때, pop을 하면 ..
BOJ 9012 - 괄호 ▶ 문제 ▶ 접근 방법(풀이) 먼저 입력 데이터의 수를 나타내는 T를 입력받아서 총 몇번의 반복을 할지 결정한다. 이후 VPS를 체크하는 방법을 생각했는데, 무조건 '(' 이후 ')'이 쌍으로 나와야만 VPS가 성립이 되기때문에 문자열을 체크해서 '('이 나오면 스택에 넣어주고, ')'이 나오면 빼주는식으로 문제를 해결하면 되는 간단한문제였다. ')'이 나와서 스택에서 빼줄때 스택이 비었으면 짝이 맞지않는 것이기에 VPS가 아니고, 문자열을 전부 검색했을 때 스택이 비어있어야만 VPS가 성립한다. ▶ 코드 # 입력데이터의 수 T T = int(input()) anw = [] # T만큼 반복 for i in range(T): # vps라는 스택생성 vps = [] # 입력데이터를 ..
ahritime
'개발공부 (Study)/알고리즘 문제' 카테고리의 글 목록