[C++] 프로그래머스 실패율
·
Algorithm/Programmers
#include #include #include #include using namespace std; bool sortSolve(pair a, pair b); vector solution(int N, vector stages) { vector answer; map stageNon; map stageClear; vector nonClear; //실패율 for (int i = 0; i = stages[i] && j == 0) stageNon[sta..
[C++] 프로그래머스 위클리챌린지 2주차 상호평가
·
Algorithm/Programmers
#include #include #include using namespace std; string solve(float x); string solution(vector scores) { string answer = ""; int counts = scores.size(); for(int j = 0; j < counts; j++) { int maxScore = -1; int minScore = 101; bool equal = false; float sum = 0; for(int i = 0; i < counts; i++) { sum += scores[i][j]; if(scores[j][j] == scores[i][j] && i != j)//i != j로 자기자신은 제외 equal = true; maxScore..
[C++] 프로그래머스 부족한 금액 계산하기
·
Algorithm/Programmers
using namespace std; long long solution(int price, int money, int count) { long long answer = (long long)price * ((long long)count * ((long long)count + 1) / 2); return (money < answer) ? answer - money : 0; } 해결방법 - 매 번째의 금액이 횟수만큼 늘어난다. - 1 * price + 2 * price + 3 * price.... 이렇게 1~n까지의 합을 구하는 방법을 통해 수식으로 풀게되었다. n * (n + 1) / 2 여기서 price와 count가 2500, 2500이 되어 계산 가능한 범위를 넘을 수 있으므로 형변환을 하여 풀었다. ..
재귀함수로 만드는 합
·
Algorithm/Memo
#include using namespace std; int sum(int i); int main() { cout 2 + 1 -> 3 + 3 -> 4 + 6 -> 5 + 10 -> 6 + 15 ..... 결국 10 + 45를 만나면서 최종 수를 반환한다. 출력 55 팩토리얼을 구하는 재귀함수 int factorial(int x) { if (x == 0) { return 1; } return x * factorial(x - 1); } return쪽의 factorial함수내로 진입한다. 0에 도달하면 하나씩 리턴하며 돌아온다. 0 : 1 1 : 1 * 1 2 : 2 * 1 3 : 3 * 2 4 : 4 * 3 ........ 이런식으로 돌아오게된다.
[C++] 프로그래머스 등굣길 DP
·
Algorithm/Programmers
#include #include #include using namespace std; int solution(int m, int n, vector puddles) { vector lists(n + 1, vector(m + 1, 1)); for(int i = 0; i
[C++] 프로그래머스 보석 쇼핑 2020카카오인턴십 [미완]
·
Algorithm/Programmers
1번째시도 : 그냥 틀려버림 더보기 #include #include #include #include using namespace std; vector solution(vector gems) { vector answer; answer.push_back(1); answer.push_back(100002); map lists; int minlen = 100002; int endNum = gems.size(); string startName = gems[0]; //보석리스트 받아오기 for(int i = 0; i < gems.size(); i++) lists[gems[i]] = false; for(int i = 0; i < gems.size(); i++) { map visited = lists; int coun..