본문 바로가기

728x90
SMALL

전체 글

(535)
프로그래머스 [2025 프로그래머스 코드챌린지 2차 예선 / 택배 상자 꺼내기](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 택배 상자 꺼내기문제 링크: 문제 보기문제 설명:주어진 숫자 n까지 특정한 규칙에 따라 w개의 열을 가진 테이블을 채우고, 숫자 num이 있는 위치에서 연속해서 증가하는 값의 개수를 찾는 문제입니다.문제 해결 코드#include #include using namespace std;int arr[101][101];int solution(int n, int w, int num) { int answer = 0; int i = 1, j = 1; int s = 1; bool check = false; // 지그재그 여부 int ai = 0, aj = 0; // 테이블을 채우는 과정 while (true) { if (!check) { ..
프로그래머스 [스택/큐 / 다리를 지나는 트럭](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 다리를 지나는 트럭문제 링크: 문제 보기문제 설명:다리 길이(bl)와 견딜 수 있는 최대 무게(weight)가 주어질 때, 주어진 트럭들이 순서대로 다리를 건너는 데 걸리는 최소 시간을 구하는 문제입니다. 다리 위에는 한 번에 정해진 개수와 무게 제한 내에서만 트럭이 올라갈 수 있습니다.문제 해결 코드#include #include #include using namespace std;int solution(int bl, int weight, vector tw) { int answer = 0; int curW = 0; // 현재 다리 위의 총 무게 queue q; // 다리를 건너는 트럭을 관리하는 큐 int i = 0; // 현재 트럭 인덱스 w..
백준 11861번 [Maximal Area](C++) -yes6686- 티스토리 백준 문제 풀이: 11861 [가장 큰 직사각형]문제 링크: https://www.acmicpc.net/problem/11861문제 설명:주어진 히스토그램에서 가장 큰 직사각형의 넓이를 구하는 문제입니다. 연속된 높이를 유지하면서 만들 수 있는 가장 넓은 직사각형을 찾아야 합니다.문제 해결 코드#include #include using namespace std;long long int arr[1000001]; // 히스토그램 높이 배열stack> st; // (높이, 시작 인덱스) 저장int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; // 히스토그램 막대 개수 입력 for (int i = 0; i..
백준 1989번 [부분배열 고르기 2](C++) -yes6686- 티스토리 백준 문제 풀이: 1989 [부분배열 문제]문제 링크: https://www.acmicpc.net/problem/1989문제 설명:배열에서 연속된 부분 배열을 선택할 때, 선택된 부분 배열의 최소값 × 원소 합의 최댓값을 구하는 문제입니다.또한, 해당 최대 값을 갖는 부분 배열의 시작 위치와 끝 위치를 출력해야 합니다.문제 해결 코드#include #include using namespace std;long long int arr[100001]; // 입력 배열stack> st; // (최소값, 시작 인덱스) 저장int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; // 배열 크기 입력 for (in..
백준 14727번 [퍼즐 자르기](C++) -yes6686- 티스토리 백준 문제 풀이: 14727 [퍼즐 자르기]문제 링크: https://www.acmicpc.net/problem/14727문제 설명:주어진 히스토그램에서 가장 큰 직사각형의 넓이를 구하는 문제입니다.즉, 연속된 높이를 유지하면서 만들 수 있는 가장 넓은 직사각형을 찾는 문제입니다.문제 해결 코드#include #include using namespace std;long long int arr[100001]; // 히스토그램 높이 배열stack> st; // (높이, 시작 인덱스) 저장int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; // 히스토그램 막대 개수 입력 for (int i = 0; i ..
백준 2104번 [부분배열 고르기](C++) -yes6686- 티스토리 백준 문제 풀이: 2104 [부분배열 고르기]문제 링크: https://www.acmicpc.net/problem/2104문제 설명:배열에서 연속된 부분 배열을 선택할 때, 선택된 부분 배열의 최소값 × 원소 합의 최댓값을 구하는 문제입니다.이 문제는 스택을 활용한 히스토그램 문제와 유사하며, 특정 구간에서의 최소값을 빠르게 찾는 방식으로 해결할 수 있습니다.문제 해결 코드#include #include using namespace std;long long int arr[100001]; // 입력 배열stack> st; // (최소값, 시작 인덱스) 저장int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n;..
백준 12846번 [무서운 아르바이트](C++) -yes6686- 티스토리 백준 문제 풀이: 12846 [무서운 아르바이트]문제 링크: https://www.acmicpc.net/problem/12846문제 설명:주어진 배열에서 연속된 구간을 선택할 때, 구간 내 최저 급여 × 구간 길이의 값이 최대가 되는 값을 찾는 문제입니다.즉, 주어진 급여 배열에서 히스토그램의 최대 직사각형 넓이를 찾는 문제와 유사합니다.문제 해결 코드#include #include using namespace std;long long int arr[100001]; // 급여 배열stack> st; // (급여, 시작 인덱스) 저장int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; // 일하는 날 수 입..
백준 2607번 [비슷한 단어](C++) -yes6686- 티스토리 백준 문제 풀이: 2607 [비슷한 단어]문제 링크: https://www.acmicpc.net/problem/2607문제 설명:첫 번째 단어를 기준으로, 주어진 나머지 단어들이 비슷한 단어인지 판별하는 문제입니다.두 단어가 비슷한 단어가 되는 조건은 다음과 같습니다:한 문자를 더하거나, 삭제하거나, 바꾸어서 같은 구성을 만들 수 있는 경우문제 해결 코드#include #include #include using namespace std;int alpha1[27]; // 기준 단어의 알파벳 개수int alpha2[27]; // 비교 단어의 알파벳 개수int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; ..

728x90
LIST