BAEKJOON/자료 구조 (58) 썸네일형 리스트형 백준 2164번 [카드2](C++)-yes6686- 티스토리 백준 문제 풀이: 2164 [카드2]문제 링크: https://www.acmicpc.net/problem/2164문제 설명:1부터 N까지의 번호가 적힌 카드가 있다. 카드 뭉치의 맨 위에 있는 카드를 버린 뒤, 그다음 맨 위에 있는 카드를 카드 뭉치의 맨 아래로 옮기는 과정을 반복한다. 카드가 한 장 남을 때까지 이 과정을 계속했을 때 남는 카드 번호를 구하는 문제입니다.문제 해결 코드#include #include using namespace std;int main() { int n; cin >> n; queue q; // 카드 초기화 for (int i = 1; i 1) { q.pop(); // 맨 위 카드 버리기 q.push(q.front());.. 백준 14428번 [수열과 쿼리 16](C++)-yes6686- 티스토리 백준 문제 풀이: 14428 [수열과 쿼리 16]문제 링크: https://www.acmicpc.net/problem/14428문제 설명:수열이 주어질 때, 다음과 같은 두 가지 쿼리를 처리하는 프로그램을 작성합니다:1 x y: 수열의 x번째 원소를 y로 변경합니다.2 x y: 수열의 x번째 원소부터 y번째 원소까지 중 가장 작은 값의 인덱스를 출력합니다. (1부터 시작하는 인덱스 기준)만약 최소값이 여러 개인 경우, 인덱스가 가장 작은 값을 출력합니다.문제 해결 코드#include #include using namespace std;long long int arr[1000001];struct Seg { int idx; int mi;};Seg seg[400001];Seg go(int n, in.. 백준 11505번 [구간 곱 구하기](C++)-yes6686- 티스토리 백준 문제 풀이: 11505 [구간 곱 구하기]문제 링크: https://www.acmicpc.net/problem/11505문제 설명:주어진 수열에서 다음 두 가지 작업을 처리하는 프로그램을 작성합니다:1 x y: 수열의 x번째 원소를 y로 변경합니다.2 x y: 수열의 x번째 원소부터 y번째 원소까지의 곱을 구한 후, 1,000,000,007로 나눈 나머지를 출력합니다.문제 해결 코드#include #include using namespace std;long long int arr[1000001];long long int seg[4000001];long long int go(int n, int s, int e) { if (s == e) { return seg[n] = arr[s]; .. 백준 10868번 [최솟값](C++)-yes6686- 티스토리 백준 문제 풀이: 10868 [최솟값]문제 링크: https://www.acmicpc.net/problem/10868문제 설명:주어진 수열에서 특정 구간의 최솟값을 빠르게 구하는 문제입니다. n개의 수가 주어지고, m개의 구간에 대한 최솟값을 각각 출력해야 합니다.문제 해결 코드#include #include using namespace std;int arr[100001];struct Seg { int ma; int mi;};Seg seg[400001];Seg go(int n, int s, int e) { if (s == e) { seg[n].ma = arr[s]; seg[n].mi = arr[s]; return seg[n]; } else { .. 백준 2357번 [최솟값과 최댓값](C++)-yes6686- 티스토리 백준 문제 풀이: 2357 [최솟값과 최댓값]문제 링크: https://www.acmicpc.net/problem/2357문제 설명:주어진 n개의 정수 배열에서 m개의 구간에 대한 최솟값과 최댓값을 빠르게 구하는 문제입니다.문제 해결 코드#include #include using namespace std;int arr[100001];struct Seg { int ma; int mi;};Seg seg[400001];Seg go(int n, int s, int e) { if (s == e) { seg[n].ma = arr[s]; seg[n].mi = arr[s]; return seg[n]; } else { int mid = (s + e).. 백준 2042번 [구간 합 구하기](C++)-yes6686- 티스토리 백준 문제 풀이: 2042 [구간 합 구하기]문제 링크: https://www.acmicpc.net/problem/2042문제 설명:길이가 n인 수열이 주어졌을 때, 다음 두 가지 연산을 효율적으로 처리해야 합니다:구간 합 계산: 수열의 특정 구간에 속하는 원소들의 합을 구합니다.값 변경: 수열의 특정 원소 값을 변경합니다.문제 해결 코드#include #include using namespace std;long long int arr[1000001];long long int seg[4000001];long long int go(int n, int s, int e) { if (s == e) { return seg[n] = arr[s]; } else { int mid =.. 백준 1874번 [스택 수열](C++)-yes6686- 티스토리 백준 문제 풀이: 1874 [스택 수열]문제 링크: https://www.acmicpc.net/problem/1874문제 설명:1부터 n까지의 수를 스택을 이용해 주어진 수열로 출력할 수 있는지 확인하고, 가능하다면 수행 과정을 출력합니다. 불가능하면 NO를 출력합니다.문제 해결 코드#include #include #include using namespace std;int arr[100001];stack s;vector v;int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; for (int i = 0; i > arr[i]; } int k = 0; int j = 0; w.. 백준 18870번 [좌표 압축](C++)-yes6686- 티스토리 백준 문제 풀이: 18870 [좌표 압축]문제 링크: https://www.acmicpc.net/problem/18870문제 설명:주어진 N개의 정수 배열에서 각 정수의 크기를 상대적인 순위로 압축하여 출력하는 프로그램을 작성하세요. 좌표 압축은 다음 규칙에 따라 진행됩니다:중복된 값은 하나의 순위로 표현합니다.작은 값부터 0, 1, 2...와 같은 방식으로 순위를 부여합니다.입력 조건:첫째 줄에 N (1 ≤ N ≤ 1,000,000)이 주어집니다.둘째 줄에는 배열의 원소로 -109 이상 109 이하의 정수 N개가 주어집니다.출력 조건:각 원소의 좌표 압축 결과를 공백으로 구분하여 출력합니다.문제 해결 코드#include #include #include #include using namespace std.. 이전 1 ··· 4 5 6 7 8 다음