본문 바로가기

Coding Test

(163)
백준 2792 보석 상자 https://www.acmicpc.net/problem/2792#include #include #include using namespace std;vector color;int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, m; cin >> n >> m; color.resize(m); for (int i = 0; i > color[i]; } sort(color.begin(), color.end()); int l = 1; int r = color.back(); int ans; while (l  마찬가지로 이분탐색 문제이다. 보석을 학생들에게 나누어..
백준 3079 입국심사 https://www.acmicpc.net/problem/3079 #include #include #include using namespace std;vector arr;int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, m; cin >> n >> m; arr.resize(n); for (int i = 0; i > arr[i]; } sort(arr.begin(), arr.end()); long long l = 1; long long r = arr.back() * m; while (l m) { break; ..
백준 1654 랜선 자르기 https://www.acmicpc.net/problem/1654#include #include #include using namespace std;vector lan;int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int k, n; int m = 0; cin >> k >> n; lan.resize(k); for (int i = 0; i > lan[i]; m = max(m, lan[i]); } long long l = 1; long long r = m; long long ans = (l + r) / 2; while (l = n) { ..
백준 15663 N과 M(9) https://www.acmicpc.net/problem/15663 #include #include #include using namespace std;vector arr;vector ans;bool visit[10];int n, m;void dfs(int cnt) { if (cnt == m) { for (int i=0;i> n >> m; arr.resize(n); ans.resize(n); for (int i = 0; i > arr[i]; } sort(arr.begin(), arr.end()); dfs(0); return 0;}  백트래킹 문제이다. 다른 n과 m 문제와 달리 같은 수열을 처리하는 것이 관건이다.풀이  for (int i = ..
백준 10427 빚 https://www.acmicpc.net/problem/10427#include #include #include #define INF 987654321using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int t; cin >> t; for (int test = 0; test > n; vector arr(n+1); vector prefix(n+1); for (int i = 1; i > arr[i]; } sort(arr.begin(), arr.end()); for (int i = 1; i..
백준 2473 세 용액 https://www.acmicpc.net/problem/2473 #include #include #include using namespace std;vector arr;int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; tuple ans; cin >> n; arr.resize(n); for (int i = 0; i > arr[i]; } sort(arr.begin(), arr.end()); ans = make_tuple(arr[0], arr[1], arr[n - 1]); for (int i = 0; i (ans) + get(ans) + get(ans)..
백준 16926 배열 돌리기 1 https://www.acmicpc.net/problem/16926#include #include using namespace std;int arr[301][301];int ny[4] = {0, 1, 0, -1};int nx[4] = {1, 0, -1, 0};int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, m, r; cin >> n >> m >> r; for (int i = 0; i > arr[i][j]; } } //배열을 반시계방향으로 r회 회전하기 for (int rotate = 0; rotate cur = make_pair(i, i); ..
백준 15961 회전 초밥 https://www.acmicpc.net/problem/15961#include #include using namespace std;int sushi[3001];int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, d, k, c; int ans = 0; cin >> n >> d >> k >> c; vector arr(n); for (int i = 0; i > arr[i]; } int s = 0; int e = k - 1; int cnt = 0; for (int i = s; i  슬라이딩 윈도우 문제이다. 윈도우 안에 연속으로 먹는 초밥의 종류를 ..