[C++] 프로그래머스 최솟값 만들기
·
Algorithm/Programmers
#include #include using namespace std; int solution(vector A, vector B) { int answer = 0; sort(A.begin(), A.end()); sort(B.begin(), B.end(), greater()); for(int i = 0; i < A.size(); i++) { answer += A[i] * B[i]; } return answer; } 풀이 1. 낮은 순, 높은 순 정렬해서 곱을 더한다. 느낀점 sort함수가 정말 편리함을 느낀다. 직접 정렬을 만들어야 2레벨일듯하다. https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반..
[C++] 프로그래머스 JadenCase 문자열 만들기
·
Algorithm/Programmers
#include #include using namespace std; string solution(string s) { string answer = ""; bool firstString = true; for(int i = 0; i 47 && s[i] < 58) { answer += s[i]; if(firstString) { firstString = false; } } else if(s[i] == ' ') { answer += s[i]; firstString = true; } else { if(!firstString) { answer += tolower(s[i]); } else { answer += toupper(s[i]); firstString = fa..
[C++] 프로그래머스 최댓값과 최솟값
·
Algorithm/Programmers
#include #include #include #include using namespace std; string solution(string s) { string answer = ""; int minNum; int maxNum; stringstream ss(s); string num = ""; ss >> num; minNum = stoi(num); maxNum = stoi(num); while(ss >> num) { int i = stoi(num); if(minNum > i) { minNum = i; } if(maxNum < i) { maxNum = i; } } answer += to_string(minNum) + " "; answer += to_string(maxNum); return answer; ..
[C++] 프로그래머스 과제 진행하기
·
Algorithm/Programmers
#include #include #include #include using namespace std; //시간을 분으로 저장 struct goodPlan { string name; int time; int playTime; }; //시간순으로 정렬 bool sortPlans(goodPlan a, goodPlan b) { if (a.time < b.time) { return true; } return false; } vector solution(vector plans) { vector answer; vector resultPlan; //분으로 치환한 값을 넣어놓는다. for (int i = 0; i < plans.size(); ++i) { string time = ""; time += plans[i][1]..
[C++] 프로그래머스 가장 많이 받은 선물
·
Algorithm/Programmers
#include #include #include #include using namespace std; int solution(vector friends, vector gifts) { int answer = 0; map giftPoint; map presentCount; map giftLog; for (int i = 0; i < friends.size(); ++i) { giftPoint.insert({ friends[i], 0 }); } for (int i = 0; i < friends.size(); ++i) { //선물 내역 초기화와 자기 자신은 제거 giftLog[friends[i]] = giftPoint; giftLog[friends[i]].erase(friends[i]); } for (int i =..
[C++] 프로그래머스 미로 탈출 명령어
·
Algorithm/Programmers
#include #include using namespace std; string answer = ""; void dfs(int n, int m, int x, int y, int r, int c, int k, int currCount, string currPath) { int manhattanRange = abs(x - r) + abs(y - c); if (manhattanRange + currCount > k) { return; } if (x == r && y == c && k == currCount) { answer = currPath; return; } if(answer != "") { return; } if (x + 1 = 1) { dfs(n, m, x, y - 1, r, c, k, currCou..