[C++] 프로그래머스 위클리챌린지 8주차 최소직사각형
·
Algorithm/Programmers
#include using namespace std; int solution(vector sizes) { int answer = 0; int w = 0; int h = 0; for(const auto &i : sizes) { w = max(w, max(i[0], i[1])); h = max(h, min(i[0], i[1])); } answer = w * h; return answer; } 풀이 1. 세로가 더 길거나 가로가 더 길거나 이므로 가로를 기준으로 잡았다. 2. 가로와 세로중 큰 값을 가로에 넣어주고, 작은 값은 세로에 넣어준다. 3. 가로중 제일 큰 값과 세로중 제일 큰 값을 곱해준다. https://programmers.co.kr/learn/courses/30/lessons/86491 코딩테..
[C++] 프로그래머스 위클리챌린지 7주차 입실퇴실
·
Algorithm/Programmers
#include #include #include using namespace std; vector solution(vector enter, vector leave) { vector answer; int enterNum = 0; //들어올 사람 num int maxEnter = enter.size(); //인원 수 vector entered(maxEnter, false); vector meet(maxEnter); //만난 인원 while (leave.size() != 0) { if (entered[leave[0] - 1] == true) //입실 인원이 존재하면 퇴실 { entered[leave[0] - 1] = false; leave.erase(leave.begin()); } else if (enterN..
[C++] 프로그래머스 위클리챌린지 6주차 복서정렬하기
·
Algorithm/Programmers
#include #include #include using namespace std; struct Whr { float win; //승률 int weightWin; //체급차이 승리 int weights; //무게 int num; //번호 }; bool sortSolve(const Whr& a, const Whr& b); vector solution(vector weights, vector head2head) { vector answer; vector result(weights.size()); //승률과 체급차이로 승리 for (int i = 0; i < head2head.size(); i++) { float win = 0; float lose = 0; result[i].num = i + 1; resul..
[C++] 프로그래머스 위클리챌린지 5주차 모음사전
·
Algorithm/Programmers
#include #include using namespace std; void solve(int &x, const string& word, string result, int& sum); int solution(string word) { int answer = 0; int num = 0; solve(num, word, "", answer); return answer; } void solve(int &x, const string& word, string result, int &sum) { if (word == result) sum = x; else if (word != result) { if(result.length() >= 0 && result.length()
[C++] 프로그래머스 위클리챌린지 4주차 직업군추천하기
·
Algorithm/Programmers
#include #include #include #include #include #include using namespace std; bool sortSolve(pair a, pair b); void saveTable(const vector& table, vector& tableSum, vector& tablePoint); //테이블 점수들을 저장 string solution(vector table, vector languages, vector preference) { string answer = ""; vector tableSum; //직업군 저장과 vector tablePoint; //직업군별 포인트 저장 saveTable(table, tableSum, tablePoint); for (int i = ..
[C++] 프로그래머스 위클리챌린지 3주차 퍼즐조각채우기
·
Algorithm/Programmers
#include #include #include #include using namespace std; //type = 보드는 0, 테이블은 1을 확인 void Check(int type, vector& type_board, vector& puzzle); //90도만큼씩 돌려보면서 같은 도형의 개수를 찾는다. int Degree(vector boards, vector tables); int solution(vector game_board, vector table) { int answer = -1; vector boards; vector tables; Check(0, game_board, boards); Check(1, table, tables); answer = Degree(boards, tables); ..