본문 바로가기

CPP

[백준 2504] 괄호의 값 문제 풀이 - 스택 활용🧩 안녕하세요! 오늘은 스택을 활용한 괄호 문제를 깊이 있게 살펴보도록 하겠습니다. 특히 괄호의 중첩된 값을 계산하는 흥미로운 문제를 다뤄볼 거예요.💡 문제 개요- 괄호열을 입력받아 그 값을 계산하는 문제- 올바른 괄호열이 아닌 경우 0을 출력- 괄호의 종류: '()', '[]'- 괄호값의 계산 규칙:  - () = 2  - [] = 3  - (X) = 2 * X  - [X] = 3 * X🔍 풀이 접근방법제가 선택한 해결 방법은 스택과 임시 계산값(temp)을 활용하는 방식입니다. 괄호가 열릴 때마다 해당하는 값을 곱해주고, 닫힐 때 조건에 따라 결과값에 더해주는 방식으로 구현했습니다.⚙️ 주요 알고리즘 설명#include#include#includeusing namespace std;int main().. 더보기
[백준 11729] 하노이 탑 이동 순서 문제 풀이 - 큐, 재귀함수 활용 안녕하세요! 오늘은 재귀 알고리즘의 대표적인 문제인 하노이 탑 문제를 함께 살펴보겠습니다. 💡 문제 이해하노이 탑은 세 개의 기둥과 n개의 원판으로 이루어진 퍼즐입니다. 목표는 다음 규칙에 따라 모든 원판을 첫 번째 기둥에서 세 번째 기둥으로 옮기는 것입니다:한 번에 하나의 원판만 이동 가능큰 원판이 작은 원판 위에 있을 수 없음🔍 코드 분석#include#includeusing namespace std;int cnt=0;queue> q;void move(int n, int fr, int to, int els){ if(n==1){ q.push({fr,to}); cnt++; return; } move(n-1,fr,els,to); q.push({.. 더보기
[백준 2583] 영역 구하기 문제 풀이 - BFS 너무우선탐색 활용 안녕하세요! 오늘은 BFS(너비 우선 탐색)를 활용한 백준 2583번 영역 구하기 문제를 통해 BFS의 개념과 활용법, 그리고 자료구조 선택의 중요성에 대해 알아보도록 하겠습니다.  💡 BFS(Breadth First Search)란?BFS는 그래프나 트리 구조에서 인접한 노드들을 우선적으로 탐색하는 알고리즘입니다.● BFS의 특징큐(Queue) 자료구조를 사용합니다시작 지점에서 가까운 노드부터 차례대로 탐색합니다최단 경로를 찾는 문제에 적합합니다레벨 단위로 탐색이 이루어집니다 🔍 문제 설명 [백준 2583번 - 영역 구하기]M×N 크기의 모눈종이에 K개의 직사각형을 그릴 때, 직사각형이 그려지지 않은 영역의 개수와 각 영역의 넓이를 구하는 문제입니다. 💻 소스 코드#include#include#i.. 더보기
[백준 10799] 쇠막대기 문제 풀이 - 스택(Stack) 자료구조 활용 안녕하세요! 오늘은 스택 자료구조를 활용하는 대표적인 문제인 백준 10799번 쇠막대기 문제를 풀어보면서, 스택의 개념과 활용법에 대해 자세히 알아보도록 하겠습니다.  💡 스택(Stack)이란?스택은 가장 나중에 들어간 데이터가 가장 먼저 나오는 LIFO(Last In First Out) 구조의 자료구조입니다.● 스택의 특징데이터는 한쪽 끝에서만 삽입과 삭제가 이루어집니다.push(삽입)와 pop(삭제) 연산을 사용합니다.가장 최근에 들어온 데이터를 가장 먼저 접근할 수 있습니다.시간복잡도는 삽입/삭제 모두 O(1)입니다.● 스택이 유용한 경우괄호 매칭 검사함수 호출 관리(콜 스택)실행 취소(Undo) 기능 구현깊이 우선 탐색(DFS) 구현 🔍 문제 설명 [백준 10799번 - 쇠막대기]여러 개의 쇠.. 더보기