Problem-solving119 프로그래머스 - 카카오 프렌즈 컬러링북 (C++) #include #include using namespace std; /* 영역 : 영역이란 상하좌우로 연결된 같은 색상의 공간 난이도 : 영역의 수 return : 그림에 몇 개의 영역이 있는지와 가장 큰 영역은 몇 칸으로 이루어져 있는지를 원소가 두 개인 정수 배열로 */ int M, N; vector PICTURE_VEC; // 현재 영역의 넓이 int CURRENT_SIZE_OF_AREA; // 영역 별 넓이를 찾는 함수 void find_size_of_area(int x, int y, int color){ // 만약 검사하는 영역이 존재하지 않거나, // 색칠하지 않은 영역이거나 (값이 0) // 이미 체크한 영역이라면 (값이 -1) // 현재 검사하고있는 색과 다른 색이라면 // return .. 2020. 4. 10. 프로그래머스 - 다리를 지나는 트럭 (C++) #include #include #include using namespace std; int solution(int bridge_length, int weight, vector truck_weights) { int answer = 0; // 시간 초 단위 int total_time = 0; // 트럭 전체 수 int total_trucks_count = truck_weights.size(); // 대기하고있는 트럭들의 무게들을 저장할 스택 stack waiting_trucks_weights_stack; // 다리를 지난 트럭들의 무게들을 저장할 스택 stack finished_trucks_weights_stack; // 트럭의 무게를 맨 뒤 순서부터 스택에 저장 for(int i = truck_weigh.. 2020. 4. 8. 프로그래머스 - 쇠막대기 (C++) #include #include using namespace std; int solution(string arrangement) { int answer = 0; // 잘린 쇠막대기 조각의 총 개수 int layer = 0; // 현재 쇠막대기를 겹친 층 수 for(int i = 0; i < arrangement.length(); i++){ switch (arrangement[i]){ case '(': // 현재 검사하는 문자가 '('라면, switch (arrangement[i + 1]){ // 다음 문자 검사 // 맨 마지막 문자가 '('일 수는 없으므로, // arrangement[i + 1]는 안전한 범위이다. case '(': // 다음 문자가 '('라면, 현재 검사한 것은 쇠막대기의 시작부분 이.. 2020. 4. 7. 프로그래머스 - 멀쩡한 사각형 (C++) using namespace std; // 최대공약수 구하는 함수 int gcd(int a, int b){ while(b != 0){ int r = a % b; a = b; b = r; } return a; } long long solution(int w,int h) { long long answer = 0; // 최대공약수의 개수만큼 반복되는 사각형 구역이 생김 long long number_of_repeating_common_square_sections = (long long)(gcd(w, h)); // 하나의 반복되는 사각형 구역 안에서 갈라지는 1cm * 1cm 사각형의 개수는 // 한 변의 길이 a + 다른 한 변의 길이 b - 1이다. // 왜냐하면 예를들어, // a >= b 라고 하자. /.. 2020. 4. 4. 이전 1 ··· 15 16 17 18 19 20 21 ··· 30 다음