BAEKJOON (486) 썸네일형 리스트형 백준 20006번 [랭킹전 대기열](C++) -yes6686- 티스토리 백준 문제 풀이: 20006 [랭킹전 대기열]문제 링크: https://www.acmicpc.net/problem/20006문제 설명:랭킹전 대기열을 관리하는 시스템을 구현하는 문제입니다. 플레이어는 자신의 레벨을 기준으로 방에 배정되며, 방이 꽉 차면 게임이 시작됩니다.방은 다음 조건을 충족해야 합니다:빈 방이 있다면 먼저 들어간다.방이 꽉 차지 않았다면, 기존 방의 첫 번째 플레이어와 레벨 차이가 10 이하인 경우 같은 방에 들어갈 수 있다.위 조건을 만족하지 못하면 새로운 방을 만든다.문제 해결 코드#include #include #include using namespace std;vector> rooms[301]; // 대기방 리스트// 닉네임을 기준으로 오름차순 정렬bool compare(pai.. 백준 2075번 [N번째 큰 수](C++) -yes6686- 티스토리 백준 문제 풀이: 2075 [N번째 큰 수]문제 링크: https://www.acmicpc.net/problem/2075문제 설명:N×N 크기의 행렬이 주어졌을 때, 이 행렬에서 N번째로 큰 수를 찾는 문제입니다.가장 큰 값을 우선적으로 관리하는 우선순위 큐를 활용하여 해결할 수 있습니다.문제 해결 코드#include #include using namespace std;int arr[1501][1501]; // 행렬 저장 배열priority_queue>> pq; // 최대 힙int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; // 행렬 크기 입력 for (int i = 0; i > arr[i][j].. 백준 16496번 [큰 수 만들기](C++) -yes6686- 티스토리 백준 문제 풀이: 16496 [큰 수 만들기]문제 링크: https://www.acmicpc.net/problem/16496문제 설명:주어진 숫자들을 조합하여 만들 수 있는 가장 큰 수를 찾는 문제입니다.각 숫자를 문자열로 정렬하며, 두 문자열 a, b를 비교할 때 a + b와 b + a를 비교하여 더 큰 값이 앞에 오도록 정렬하면 됩니다.문제 해결 코드#include #include using namespace std;string arr[1001];// 두 숫자를 조합하여 큰 순서대로 정렬bool compare(string a, string b) { return a + b > b + a;}int main() { ios::sync_with_stdio(false); cin.tie(NULL).. 백준 22233번 [가희와 키워드](C++) -yes6686- 티스토리 백준 문제 풀이: 22233 [가희와 키워드]문제 링크: https://www.acmicpc.net/problem/22233문제 설명:초기에 n개의 키워드가 주어지고, 이후 m개의 블로그 글이 입력됩니다. 각 블로그 글에는 쉼표(,)로 구분된 키워드가 포함되며, 등장한 키워드는 삭제됩니다.각 블로그 글이 처리된 후 남은 키워드의 개수를 출력하는 문제입니다.문제 해결 코드#include #include using namespace std;unordered_map mp; // 키워드를 저장할 해시 맵int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, m; cin >> n >> m; // 키워드 개수 n, 블로그 글 개수 m .. 백준 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;.. 이전 1 2 3 4 ··· 61 다음