본문 바로가기

C++53

프로그래머스 - 다리를 지나는 트럭 (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.
프로그래머스 - 프린터 (C++) #include #include #include using namespace std; /* 중요도 : 숫자가 클 수록 중요하다. location : 내가 인쇄 요청한 문서의 인덱스(0부터 시작) return value : 번째의 수로, 1부터 시작 */ int solution(vector priorities, int location) { // 현재까지 인쇄된 문서의 수 int current_print_count = 0; // queue deque documents_deque; // 중요도 별 문서의 개수 vector documents_count_per_priority_vec(10, 0); // 매개변수 벡터를 모두 덱에 push_back for(int document_index = 0; document_.. 2020. 4. 4.