백준(C, C++)/실버 8

백준 1052: 물병 [C/C++]

https://www.acmicpc.net/problem/1052 1052번: 물병 지민이는 N개의 물병을 가지고 있다. 각 물병에는 물을 무한대로 부을 수 있다. 처음에 모든 물병에는 물이 1리터씩 들어있다. 지민이는 이 물병을 또 다른 장소로 옮기려고 한다. 지민이는 한 번 www.acmicpc.net 코드 Z#include #include #include using namespace std; int main() { ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int N, K; cin >> N >> K; K--; vector arr = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384,..

백준 23253: 자료구조는 정말 최고야

https://www.acmicpc.net/problem/23253 23253번: 자료구조는 정말 최고야 위 그림처럼 책이 쌓여 있으므로, 첫 번째 더미 - 두 번째 더미 - 첫 번째 더미 - 두 번째 더미 순으로 꺼내면 책 번호순으로 나열할 수 있다. www.acmicpc.net #include #include #include using namespace std; int m, n, k, t; int lis[200000]; priority_queue pq; int main() { scanf("%d %d", &n, &m); for (int i = 0; i = 0; j--) { scanf("%d", &t); pq.push(make_pair(-t, make_pair(i, j))); } } while (!pq...

백준 1966: 프린터 큐 [C/C++]

https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net #include #include #include #include #include using namespace std; int main() { int t; cin >> t; while (t--) { queue q; int n, p, t; cin >> n >> p; vector v(n); for (int i = 0; i > t; v[i] = t; q.push(make_pair(t, i)); // 입력값과..

백준 1158: 요세푸스 문제 [C언어]

https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 코드 : #include #include #define TRUE 1 #define FALSE 0 typedef int Data; typedef struct _node { Data data; struct _node* next; }Node; typedef struct _CLL { Node* tail; Node* cur; Node* before; int numOfData; }CList; typedef CList List; void ListInit(List* plist) { plist->tail..

백준 1037 약수, c++

https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 풀이: prime의 square number과 그 외를 구분해주면 되는 문제입니다. #include #include #include #define fastio() ios::sync_with_stdio(0),cin.tie(nullptr),cout.tie(nullptr); using namespace std; int main() { fastio(); int n; cin >> n; vector ..

백준 11659 구간 합 구하기4

https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 1. 누적 합 알고리즘을 이용한다면 매우 쉬운 문제였습니다 #include #define fastio() ios::sync_with_stdio(0),cin.tie(nullptr),cout.tie(nullptr); using namespace std; int n, m, t1, t2; int arr[111111]; int acc[111111]; int main() { fasti..

[C/C++] 백준 1463번 - 1로 만들기, 다이나믹 프로그래밍(동적계획법)

https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 완성된 코드: #include #include // min을 쓰기 위한 헤더 파일#define fastio() ios::sync_with_stdio(0),cin.tie(0); // 빠른 입출력을 위한 코드#define INF 100000000using namespace std;int dp[1111111]; // 이전에 나온 값을 기억할 배열, 전역변수 이므로 0으로 초기화 되어있다.int solve(int n, int cnt) { if (n == 1) return cnt; // n이 1이 된다면 cnt를 리턴한..

[C/C++] 백준 1004번 - 어린 왕자, 새롭게 Class로 풀어보자

https://www.acmicpc.net/problem/1004 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 클래스로 풀어보았습니다. 완성된 코드 #include #include using namespace std; static const auto fastio = []() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); return 0; }(); class space { int y1, x1,..