BAEKJOON/브루트포스 (33) 썸네일형 리스트형 백준 16508번 [전공책](C++) -yes6686- 티스토리 백준 문제 풀이: 16508 [전공책]문제 링크: https://www.acmicpc.net/problem/16508문제 설명:주어진 문자열을 만들기 위해 특정 책들의 조합을 선택해야 합니다. 각 책은 가격과 문자열 정보를 가지고 있으며, 목표 문자열을 만들기 위한 최소 가격을 계산하는 문제입니다.문자열을 만드는 조건:책의 문자열에 포함된 문자들을 사용하여 목표 문자열의 모든 문자를 만족해야 합니다.중복 문자는 해당 수만큼 포함되어야 합니다.문제 해결 코드#include #include #include using namespace std;pair str[17]; // 책의 가격과 문자열 저장int visited[17]; // 책 선택 여부int n; // 책의 개수int minPrice = -1; // .. 백준 30804번 [과일 탕후루](C++)-yes6686- 티스토리 백준 문제 풀이: 30804 [과일 탕후루]문제 링크: https://www.acmicpc.net/problem/30804문제 설명:길이가 n인 과일 배열에서, 연속된 구간에서 과일의 종류가 최대 2종류인 가장 긴 구간의 길이를 출력하는 문제입니다.입력:첫째 줄에 정수 n이 주어집니다. (1 ≤ n ≤ 200,000)둘째 줄에 길이 n의 정수 배열 arr가 주어집니다. (1 ≤ arr[i] ≤ 9)출력:과일의 종류가 2종류 이하인 가장 긴 연속 구간의 길이를 출력합니다.문제 해결 코드#include #include using namespace std;int arr[200001];int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n.. 백준 9663번 [N-Queen](C++)-yes6686- 티스토리 백준 문제 풀이: 9663 [N-Queen]문제 링크: https://www.acmicpc.net/problem/9663문제 설명:N-Queen 문제는 N×N 체스판 위에 N개의 퀸을 서로 공격하지 못하도록 배치하는 경우의 수를 구하는 문제입니다. 퀸은 가로, 세로, 대각선으로 공격할 수 있습니다.입력:첫째 줄에 정수 N이 주어집니다. (1 ≤ N ≤ 15)출력:N개의 퀸을 서로 공격하지 못하게 배치하는 경우의 수를 출력합니다.문제 해결 코드#include #include #include using namespace std;int n;int column[15]; // 세로 열 체크int diag1[30]; // 오른쪽 아래 대각선 체크int diag2[30]; // 왼쪽 아래 대각선 체크int res.. 백준 6064번 [카잉 달력](C++) -yes6686- 티스토리 백준 문제 풀이: 6064 [카잉 달력]문제 링크: https://www.acmicpc.net/problem/6064문제 설명:카잉 달력은 M과 N에 의해 정해지는 주기를 가지며, 특정 해는 x와 y가 주어질 때 이를 만족하는 최소 해를 구하는 프로그램을 작성하세요. 만약 해가 존재하지 않으면 -1을 출력합니다.입력 조건:첫 번째 줄에 테스트 케이스의 개수 T가 주어집니다. (1 ≤ T ≤ 10⁵)다음 T개의 줄에 M, N, x, y가 주어집니다. (1 ≤ M, N ≤ 40,000, 1 ≤ x ≤ M, 1 ≤ y ≤ N)출력 조건:각 테스트 케이스마다 x와 y를 만족하는 최소 해를 출력합니다. 해가 존재하지 않으면 -1을 출력합니다.문제 해결 코드#include #include using namespac.. 백준 9196번 [정수 직사각형](C++) -yes6686- 티스토리 백준 문제 풀이: 9196문제 링크: https://www.acmicpc.net/problem/9196문제 설명:주어진 직사각형의 높이와 너비를 기준으로 현재 대각선 길이보다 크면서 가장 작은 대각선을 가지는 새로운 직사각형을 찾는 문제입니다. 이때, 같은 대각선 길이를 가진다면 더 작은 높이를 우선시합니다.문제 해결 코드#include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); while (true) { int h, w; cin >> h >> w; if (h == 0 && w == 0) break; // 종료 조건 int curDiagonal .. 백준 10655번 [마라톤 1](C++) -yes6686- 티스토리 백준 문제 풀이: 10655번 [마라톤 1]문제 링크: https://www.acmicpc.net/problem/10655문제 설명:마라톤 경로에서 한 체크포인트를 건너뛰었을 때의 최소 이동 거리를 계산하는 문제입니다. 체크포인트들은 2차원 평면 위에 있으며, 인접한 두 체크포인트 간의 거리(맨해튼 거리)가 주어집니다.문제 해결 코드#include #include // abs() 함수 사용#include // min() 함수 사용using namespace std;pair arr[100001]; // 체크포인트 좌표 저장int dis[100001]; // 각 구간의 거리 저장int main() { ios::sync_with_stdio(false); // 입출력 속도 .. 백준 18429번 [근손실](C++) -yes6686- 티스토리 백준 문제 풀이: 18429번 [근손실]문제 링크: https://www.acmicpc.net/problem/18429문제 설명:운동을 할 때 매일 특정 무게를 들어야 하는데, 특정 순서로 운동을 진행하면 근손실 없이 모든 운동을 완료할 수 있습니다. 각 운동 키트는 무게를 증가시키지만, 매일 사용 후 일정 무게가 감소합니다.주어진 운동 키트의 순서를 정해 근손실 없이 모든 운동을 수행할 수 있는 경우의 수를 구하는 문제입니다.운동 키트 수: \( n \)하루마다 무게 감소량: \( k \)문제 해결 코드// 백준 18429번: 근손실#include using namespace std;int arr[9]; // 운동 키트의 무게 변화 저장int visited[9]; // 각 키트의 사용 여부 확인.. 백준 3085번 [사탕 게임](C++) -yes6686- 티스토리 백준 문제 풀이: 3085번 [사탕 게임]문제 링크: https://www.acmicpc.net/problem/3085문제 설명:NxN 크기의 격자판에서 사탕의 색이 주어집니다. 인접한 두 칸의 사탕을 교환하여, 같은 색의 사탕이 가장 긴 연속 구간을 만드는 경우의 길이를 구하는 문제입니다. 교환은 한 번만 가능하며, 이후 가장 긴 연속 구간을 계산합니다.문제 해결 코드#include #include #include using namespace std;char c[51][51]; // 사탕의 색 배열int dx[4] = { 0, 0, 1, -1 }; // 상하좌우 이동 배열int dy[4] = { 1, -1, 0, 0 };int main() { ios::sync_with_stdio(false); .. 이전 1 2 3 4 5 다음 목록 더보기