전체 글130 [프로그래머스] 서버 증설 #include #define fastio cin.tie(0)->sync_with_stdio(0)#define long long size_tusing namespace std;int solution(int players[], size_t players_len, int m, int k) { int answer = 0; int server[1000] = {0}; // 충분한 크기 가정 for (size_t i = 0; i capacity) { int need = players[i] - capacity; int extra = (need + m - 1) / m; // 올림 처리 for (int j = 0; j 사람이 m명 증가 시 서버.. 2025. 4. 9. [프로그래머스] 단체 사진 찍기 #include #define fastio cin.tie(0)->sync_with_stdio(0)#define MAX 5using namespace std;int answer;bool select[8];char ItoC[8] = {'A','C','F','J','M','N','R','T'};void DFS(int cnt, char arr[], vector data){ if(cnt == 8) { for(int i=0; i= dist) return; if(cond == '>' && abs(idx-iidx) data){ fastio; char arr[8] = {NULL, }; answer = 0; DFS(0, arr, data); retur.. 2025. 4. 8. [백준] 6497번 전력난 [ 최소 스패닝 트리 ]: 주어진 간선에 대한 정보들을 통해서, 최소의 비용으로 모든 정점을 연결한다.1. 크루스칼 알고리즘모든 가중치를 오름차순으로 정렬 -> 가중치가 가장 작은 간선 선택 -> 두 정점이 연결 안되어 있다면(사이클도 존재 x) 연결 -> 이 과정을 반복1) 서로 같은 부모를 갖는지 판단해주는 함수 2) 1번 과정을 위해서, 부모를 찾는 find 함수 3) 서로 다른 부모일 경우, 두 개의 노드를 연결해야 하므로, 합치는 union 함수출처: https://yabmoons.tistory.com/186 2. 프림 알고리즘임의의 한 점을 선택 -> 이 점과 연결된 정점들 중 짧은 간선 선택 -> 짧은 간선으로 선택된 정점 & 처음 정점들 중 가장 짧은 거리 선택 -> 이 과정을 반복하며.. 2025. 4. 7. [백준] 1781번 컵라면 #include #define fastio cin.tie(0)->sync_with_stdio(0)using namespace std;const int MAX = 200001;int N;vector problems[MAX];int optimize(){ int ret = 0; priority_queue, less> pq; for(int day=N; day>=1; day--){ for(auto p:problems[day]) pq.push(p); if(!pq.empty()){ ret+=pq.top(); pq.pop(); } } return ret;}int main(){ fastio; cin>>N; for(int .. 2025. 4. 3. 이전 1 2 3 4 ··· 33 다음