개인공부용123 프로그래밍 블로그
문제 : https://algospot.com/judge/problem/read/ALLERGY 사람마다 먹을 수있는 음식이 있는데 최소한의 음식만 준비해서 모든 사람이 음식을 먹을수있게 하는 문제입니다. 이 문제를 해결할때 불필요한 낭비를 하지않기위해 음식을 못먹은 사람을 찾고 그 사람이 먹을 수있는 음식을 대입해가면서 최소로 준비할수있는 음식의 수를 찾는 방법을 이용했습니다. 간단한 가지치기로 현재까지 찾은 최저값보다 클 경우는 재귀를 더이상 수행하지 않게 처리했습니다. #include #include #include #include using namespace std; int n, m; // 친구 음식 int best; // 가장 좋은경우 vector foods[50]; // 음식을 먹을수있는 사람이..
문제 : https://algospot.com/judge/problem/read/QUADTREE 문자열을 입력받았을떄 이 문자를 상하로 뒤집은 문자열을 출력하는 문제입니다. 분할 정복을 이용해서 문제를 풀었습니다. *string의 begin함수는 r-value이므로 함수의 인자에 r-value를 넣으면 알고스팟 컴파일러에서 에러가 나왔습니다. 그러므로 다음 코드와 같이 l-value로 지정을 해준후 인자로 넣어주면 제대로 컴파일이 됩니다. r-value와 l-value 참조 : http://blog.mimu.me/understand-rvalue-reference-ko.html #include #include using namespace std; string str; // 1 2 // 3 4 이형태로 만듬..
문제 : https://algospot.com/judge/problem/read/STRJOIN 문자를 합쳐서 나오는 최소비용을 구하는 문제인데 이 무제는 가장 작은 값2개를 계속 더해나갔을 경우가장 최소의 비용을 가질수 있습니다. 즉 탐욕법을 적용해서 문제를 풀면 풀 수 있습니다. priority_queue를 이용하는 방법과 매 시행마다 sort를 이용하는 방법을 2가지를 이용해서 문제를 풀었습니다. #include #include #include #include // min힙을 사용하기위해 greater를 호출하는데 사용됨 #include using namespace std; #define IMPOS 999999 vector arr; int StrJoin(int n) { int MinPrice = 0;..