코딩테스트
-
[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)..
-
[C++] 프로그래머스 [2020카카오공채] 문자열 압축코딩테스트/코딩테스트 연습 2020. 10. 27. 18:09
#include #include using namespace std; int str_zip(string s, int n) { string new_s; string tmp = s.substr(0, n); int count = 0, i; for (i = n; i 0) new_s.append(to_string(count+1) + tmp); else new_s.append(tmp); tmp = s.substr(i, n); count = 0; } } if (count > 0) new_s.append(to_string(count + 1) + tmp); ..
-
[C++] 삼성 4008. [모의 SW 역량테스트] 숫자 만들기코딩테스트/코딩테스트 연습 2020. 10. 27. 18:08
#include #include using namespace std; int card[12]; int input[11]; int max_num = -100000000; int min_num = 100000000; int N; void solution(int size, int add, int sub, int mul, int div) { if (size == N-1) { int sum = 0; sum = card[0]; for (int n = 0; n < N-1; n++) { if (input[n] == 1) sum = sum + card[n + 1]; else if (input[n] == 2) sum = sum - card[n + 1]; else if (input[n] == 3) sum = sum * ca..
-
[C++] 삼성 1247. [S/W 문제해결 응용] 3일차 - 최적 경로코딩테스트/코딩테스트 연습 2020. 10. 27. 18:08
#include #include #include using namespace std; vector save; bool check[12] = { false, }; int min_dist; int cal_dist(pair a, pair b) { return abs(a.first - b.first) + abs(a.second - b.second); } void solution(int start_index, int dist, int size) { if (size == save.size() - 2) { dist += cal_dist(save[start_index], save[1]); if (min_dist > dist) min_dist = dist; return; } for (int i = 2; i < save...
-
[C++] 삼성 1244. [S/W 문제해결 응용] 2일차 - 최대 상금코딩테스트/코딩테스트 연습 2020. 10. 27. 18:07
#include #include #include #include using namespace std; int max_number; int number_check[10] = {0, }; void swap(int& a, int& b) { int temp = a; a = b; b = temp; } void quiz(vector price, int change, int index) { if (change == 0) { int number = 0; int mul = 1; for (int i = price.size() - 1; i >= 0; i--) { number += price[i] * mul; mul *= 10; } if (max_number < number) max_number = number; return..
-
[C++] 삼성 1949. [모의 SW 역량테스트] 등산로 조성코딩테스트/코딩테스트 연습 2020. 10. 27. 18:06
#include #include using namespace std; int arr[8][8]; int visit[8][8]; int dir[][2] = { {1,0},{0,1},{-1,0},{0,-1} }; int max_dist = 0; int N; int K; void solution(int x, int y, bool k, int dist) { if (x = N || y >= N) return; for (int i = 0; i = N || next_y >= N) continu..