전체 글
-
[C++] 삼성 1952. [모의 SW 역량테스트] 수영장코딩테스트/코딩테스트 연습 2020. 10. 27. 18:14
모든 경우의 수 구해보기 #include #include using namespace std; int cost[4] = {0, }; int month[12] = {0, }; int min_cost = 99999999; void solution(int index, int total) { if (index >= 12) { if (min_cost > total) min_cost = total; return; } solution(index + 1, total + cost[0] * month[index]); solution(index + 1, total + cost[1]); solution(index + 3, total + cost[2]); } int main() { int T; cin >> T; for (int..
-
[C++] 삼성 2382. [모의 SW 역량테스트] 미생물 격리코딩테스트/코딩테스트 연습 2020. 10. 27. 18:14
#include using namespace std; struct group { int x; int y; int num; int dir; }; int dir[5][2] = { {0,0},{-1,0},{1,0},{0,-1},{0,1} }; group arr[1000] = {}; int dir_change(int now_dir) { if (now_dir == 1 || now_dir == 3) { return now_dir + 1; } else if (now_dir == 2 || now_dir == 4) { return now_dir - 1; } } int main() { int T; cin >> T; for (int t = 1; t > N >> M >> K; for (int i = 0; i < K; i++)..
-
[C++] 백준 9935번. 문자열 폭발코딩테스트/코딩테스트 연습 2020. 10. 27. 18:13
#include #include using namespace std; int main() { string s1, s2; getline(cin, s1); getline(cin, s2); int size = s2.size(); int idx = 0; while (s1.find(s2) != std::string::npos) { int index = s1.find(s2, idx); //s1 = s1.substr(0, index) + s1.substr(index + size, s1.size()); s1.erase(index, size); idx = index - size; if (idx < 0) idx = 0; } if (s1.empty()) cout s2; string s3 = ""; int size = s2...
-
[C++] 삼성 2383. [모의 SW 역량테스트] 점심 식사시간코딩테스트/코딩테스트 연습 2020. 10. 27. 18:12
#include #include #include #include #include using namespace std; #define PII pair #define INF 99999999 int min_dist; int arr[11][11]; vector peoples; vector stairs; int cal_dist(pair a, pair b) { return abs(a.first - b.first) + abs(a.second - b.second); } int cal_stairs(vector stairs1, vector stairs2) { int stairs1_size = stairs1.size(); int stairs2_size = stairs2.size(); int stairs1_time = 0; ..
-
[C++] 프로그래머스 섬 연결하기코딩테스트/코딩테스트 연습 2020. 10. 27. 18:12
#include #include #include #include using namespace std; #define PII pair priority_queue vertex; vector *node; vector visited; int addEdge(int node); int prim(int n); int solution(int n, vector costs) { int answer = 0; node = new vector[n]; for(int i=0; i
-
[C++] 프로그래머스 카카오프렌즈 컬러링북코딩테스트/코딩테스트 연습 2020. 10. 27. 18:11
#include #include using namespace std; int pic[100][100]; bool check[100][100]; int dir[4][2] = {{1,0},{0,1},{-1,0},{0,-1}}; int recursive(int x, int y, int m, int n, int value){ check[x][y] = true; int area = 0; for(int i=0; i= m || new_y >= n) continue; if(check[new_x][new_y] == true || pic[new_x][new_y] != value) continue; area += recursive(new_x, new_y, m, n, value); } return area + 1; } // ..
-
[C++] 삼성 1953. [모의 SW 역량테스트] 탈주범 검거코딩테스트/코딩테스트 연습 2020. 10. 27. 18:10
#include #include #include #include using namespace std; int turnal[51][51] = { 0, }; bool visited[51][51] = { false, }; int dir[4][2] = { {0,1},{1,0},{0,-1},{-1,0} }; int N, M; bool connected(int before_dir, int type) { if (before_dir == 0) { if (type == 1 || type == 3 || type == 6 || type == 7) { return true; } } else if (before_dir == 1) { if (type == 1 || type == 2 || type == 4 || type == 7)..