반응형

전체 글 76

[프로그래머스] 택배 배달과 수거하기

문제 주소https://school.programmers.co.kr/learn/courses/30/lessons/150369  풀이https://school.programmers.co.kr/questions/43364못 풀어서 위의 게시물을 참고하였다. d와 p가 0이 될 때까지 while문을 반복하는 것이 핵심이다. 일단 d와 p에서 이렇게 뺀다. d -= deliveries[i]; p -= pickups[i]; 물류창고에 들르면 d와 p에 cap 만큼의 여유가 생긴다.그렇기 때문에 d와 p에 cap 만큼 더한 후에 count를 증가시켜 물류창고에 들른 횟수를 기록해준다. while (d  while문을 빠져나오면 answer에 i에서 물류창고 까지의 거리 * co..

[부트캠프 과제] 심화 주차 개인 과제 - 일정 관리 앱 개선

이전 글https://unblockme.tistory.com/entry/%EB%B6%80%ED%8A%B8%EC%BA%A0%ED%94%84-%EA%B3%BC%EC%A0%9C-%EC%9D%BC%EC%A0%95-%EA%B4%80%EB%A6%AC-%EC%95%B1-Develop [부트캠프 과제] 일정 관리 앱 Develop깃허브 링크https://github.com/ethrad/Schedule GitHub - ethrad/ScheduleContribute to ethrad/Schedule development by creating an account on GitHub.github.comERD+--------------+ +---------------+| User | | Schedule |+------------..

[프로그래머스] 도넛과 막대 그래프

문제 주소https://school.programmers.co.kr/learn/courses/30/lessons/258711 풀이새로 추가된 정점이 모든 그래프와 연결된다는 것과 그래프의 특성만 알면 쉽게 풀 수 있는 문제였다.새로 추가된 정점은 들어오는 간선이 없고 나가는 간선이 2개 이상이다. if (in[i].size() == 0 && out[i].size() > 1){ answer[0] = i; start_node = out[i]; } 8자 그래프의 중앙에 위치한 정점은 들어오는 간선이 2개, 나가는 간선이 2개이다. else if (in[i].size() >= 2 && out[i].size() >= 2){ ..

[프로그래머스] 가장 많이 받은 선물

문제 주소https://school.programmers.co.kr/learn/courses/30/lessons/258712 풀이조건을 잘 나누기만 하면 되는 문제였다.쉬워서 풀이라고 할 만 한 게 없음. 코드#include #include #include using namespace std;int solution(vector friends, vector gifts) { int answer = 0; unordered_map m; for (int i = 0; i > v1(friends.size(), vector(friends.size(), 0)); // [이름] [0]:준 선물 [1]:받은 선물 [2]:선물 지수 [3]:받을 선물 vector> v2(friends..

카테고리 없음 2024.10.11

[프로그래머스/그래프] 순위

문제 주소https://school.programmers.co.kr/learn/courses/30/lessons/49191 풀이count를 그래프 입력하면서 갱신하는 것이 아니라 그래프를 다 입력한 후에 갱신하는 것이 핵심이었다.dfs 할 때 (현재 노드의 count += 이전 노드의 count) 이런 식으로 생각했었는데 그냥 count를 +1씩 해주면 되는 거였다. 코드#include #include #include using namespace std;void update_count(int index, vector>& graph, unordered_map& count, vector& visited){ visited[index] = true; for (auto e: graph[index..

[프로그래머스/그래프] 가장 먼 노드

문제 주소https://school.programmers.co.kr/learn/courses/30/lessons/49189 풀이단방향 간선이 아니라 양방향 간선으로 unordered_map에 입력해야 한다!단방향 간선으로 입력해서 다 틀린 거였다....그 다음은 그냥 다익스트라 최단 거리 알고리즘 사용한 후에 가장 먼 노드의 개수 구하면 된다. 코드#include #include #include #include #include using namespace std;#define INF 1e9int solution(int n, vector> edge) { int answer = 0; // 이어진 노드를 기록 unordered_map> m; for (auto e : edge..

반응형