본문 바로가기

분류 전체보기

(308)
[백준/C++] 28418번: 회장님께 바치는 합성함수 문제https://www.acmicpc.net/problem/28418문제 요약첫째 줄에 f(x) 함수의 2차항, 1차항, 상수항의 계수가, 둘째 줄에 g(x)의 1차항, 상수항의 계수가 주어진다. p(x) = f(g(x)), q(x) = g(f(x)) 일 때, 두 함수의 교점 개수를 파악한다.코드#include #include using namespace std;int p[3], q[3], ans[3];int a, b, c, d, e;int root;int main() { cin >> a >> b >> c >> d >> e; p[2] = a * d * d; p[1] = 2 * a * d * e + b * d; p[0] = a * e * e + b * e + c; q[2] = d * a; q[1] = d..
[백준/C++] 28419번: 더하기 문제https://www.acmicpc.net/problem/28419문제 요약길이가 N인 수열이 주어졌을 때, 인접한 세 값을 1씩 증가시키는 연산을 원하는 만큼 반복할 수 있다. 연산을 최소한으로 사용하여 수열의 홀수 번째 위치에 있는 값들의 합과 짝수 번째 위치에 있는 값들의 합이 같아지도록 만들어야 한다. 최소 연산 횟수를 출력한다.코드#include #include #define ll long longusing namespace std;ll n, odd_sum, even_sum;vector v;int main() { cin >> n; // 짝수 합, 홀수 합 계산 for (int i = 1; i > num; if (i % 2 == 0) { even_sum += num; } else { ..
[백준/C++] 2630번: 색종이 만들기 문제https://www.acmicpc.net/problem/2630문제 요약N × N 개의 정사각형 칸들로 이루어진 정사각형 모양의 종이가 주어졌을 때, 각 정사각형들은 하얀색 또는 파란색으로 칠해져 있다. 주어진 종이를 일정한 규칙에 따라 잘라서 다양한 크기를 가진 정사각형 모양의 하얀색 또는 파란색 색종이를 만들어야 한다.  잘라진 하얀색 색종이와 파란색 색종이의 개수를 출력한다.코드#include #include #define MAX_N 128using namespace std;int paper[MAX_N + 1][MAX_N + 1];int n;int blue_cnt, white_cnt;void search(int x, int y, int sz) { bool is_cut = false; int f..
[백준/C++] 11866번: 요세푸스 문제 0 문제https://www.acmicpc.net/problem/11866문제 요약1번부터 n번까지 n명의 사람이 원을 이루면서 앉아있다. 양의 정수 k가 주어졌을 때, 순서대로 k번째 사람을 제거한다. 한 사람이 제거되면, 남은 사람들로 이루어진 원을 따라 과정을 계속한다. 위 과정을 n명의 사람이 모두 제거될 때까지 계속한다. 원에서 사람들이 제거되는 순서를 요세푸스 순열이라고 한다. 형식에 맞게 요세 푸스 순열을 출력한다.코드#include #include using namespace std;int n, k;vector v, res;int main() { cin >> n >> k; // 1번 ~ n번 삽입 for (int i = 1; i "; return 0;}코드 설명1. 벡터 v에 1부터 n까지 ..
[백준/C++] 11651번: 좌표 정렬하기 2 문제https://www.acmicpc.net/problem/11651문제 요약2차원 평면의 점 n개가 주어졌을 때, 정렬하여 출력한다.  1. y좌표가 증가하는 순서로 정렬한다.2. y좌표가 같다면 x좌표가 증가하는 순서로 정렬한다.코드#include #include #include #include using namespace std;int n;vector> arr;// 정렬 조건bool compare(tuple a, tuple b) { if (get(a) == get(b)) { return get(a) (b); } return get(a) (b);}int main() { // 입력 cin >> n; for (int i = 0; i > x >> y; arr.push_back({ x,y }); } /..
[백준/C++] 1759번: 암호 만들기 문제https://www.acmicpc.net/problem/1759문제 요약알파벳 소문자로 이루어진 C개의 문자들이 주어졌을 때, 문자들을 조합하여 길이 L의 암호를 만들 수 있다. 만들 수 있는 모든 암호 경우의 수를 출력한다. 1. 중복된 문자는 있을 수 없다.2. 최소 1개의 모음(a, e, i, o u)으로 구성되어있다.3. 최소 2개의 자음으로 구성되어있다.4. 오름차순으로 정렬되어있다.코드#include #include #include using namespace std;// C개 문자들로 만들어진 L자리 암호(문자열) 탐색int L, C;vector chars;vector st;// 현재 st가 조건에 부합하는지 확인bool check() { int vowel = 0; // 현재 st의 ..