본문 바로가기

728x90
SMALL

전체 글

(535)
백준 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());..
백준 2108번 [통계학](C++)-yes6686- 티스토리 백준 문제 풀이: 2108 [통계학]문제 링크: https://www.acmicpc.net/problem/2108문제 설명:주어진 데이터들에 대해 다음의 네 가지 통계값을 구하는 문제입니다:1. 산술평균: 모든 데이터의 합을 데이터 개수로 나눈 값 (소수점 첫째 자리에서 반올림).2. 중앙값: 데이터들을 크기순으로 정렬했을 때 중앙에 위치한 값.3. 최빈값: 가장 많이 나타나는 데이터 값. 여러 개일 경우 두 번째로 작은 값을 선택.4. 범위: 데이터들 중 최대값과 최소값의 차이.문제 해결 코드#include #include #include using namespace std;int arr[500001];int check[8001];bool compare(int a, int b) { return a..
백준 1978번 [소수 찾기](C++)-yes6686- 티스토리 백준 문제 풀이: 1978 [소수 찾기]문제 링크: https://www.acmicpc.net/problem/1978문제 설명:주어진 n개의 숫자 중에서 소수인 숫자의 개수를 구하는 문제입니다. 소수는 1과 자기 자신만으로 나누어 떨어지는 숫자를 의미합니다.문제 해결 코드#include using namespace std;int main() { int n; int x; int cnt = 0; int result = 0; cin >> n; for (int i = 0; i > x; for (int j = 1; j 코드 설명입력: 첫 번째로 입력받은 숫자 n은 체크해야 할 숫자의 개수를 의미하며, 그 다음에는 숫자 리스트가 입력됩니다.로직:각 숫자에 대해, 1부터 ..
백준 1966번 [프린터 큐](C++)-yes6686- 티스토리 백준 문제 풀이: 1966 [프린터 큐]문제 링크: https://www.acmicpc.net/problem/1966문제 설명:문서의 중요도가 주어졌을 때, 주어진 위치의 문서가 몇 번째로 출력되는지를 구하는 문제입니다. 문서의 출력 순서는 중요도가 높은 순으로 결정되며, 중요도가 같을 경우 입력된 순서를 따릅니다.문제 해결 코드#include #include using namespace std;int main() { int cnt; int T; cin >> T; int n, m; int k; while (T--) { cnt = 0; cin >> n >> m; queue>q; priority_queuepq; f..
백준 1929번 [소수 구하기](C++)-yes6686- 티스토리 백준 문제 풀이: 1929 [소수 구하기]문제 링크: https://www.acmicpc.net/problem/1929문제 설명:자연수 M과 N이 주어졌을 때, M 이상 N 이하의 모든 소수를 구하는 문제입니다.문제 해결 코드// 에라토스테네스의 체를 이용한 소수 구하기#include using namespace std;int arr[1000001];int main() { int a, b; cin >> a >> b; // 배열 초기화 for (int i = 2; i 코드 설명입력: 두 개의 정수 M(a)과 N(b).로직:1부터 N까지의 자연수를 담은 배열을 준비합니다.2부터 √N까지 반복하며, 해당 수의 배수를 배열에서 제거합니다.M 이상 N 이하의 배열 값 중 제거되지 않은 값을 ..
백준 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 { ..

728x90
LIST