프로그래머스 : 길찾기 게임 C++
programmers.co.kr/learn/courses/30/lessons/42892?language=cpp 코딩테스트 연습 - 길 찾기 게임 [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr 풀이 겸 후기 1. 그동안 알고리즘 풀때 포인터를 진짜 거의 안썻는데 이 문제는 포인터 없이는 너무 힘들어서 포인터 공부좀 다시 했다 2. 원래 주어진 벡터를 그냥 index로 치면 몰라도 이건 주어진 노드 정보들을 한번 sort하고 트리 구성하는거라 이게 훨씬 편하더라 1) 노드 stuct - 좌표정보랑, 자식 두명 포인터 2) 초기화 과정 3) 좌표를..
프로그래머스 : 지형 이동 c++
programmers.co.kr/learn/courses/30/lessons/62050 코딩테스트 연습 - 지형 이동 [[1, 4, 8, 10], [5, 5, 5, 5], [10, 10, 10, 10], [10, 10, 10, 20]] 3 15 [[10, 11, 10, 11], [2, 21, 20, 10], [1, 20, 21, 11], [2, 1, 2, 1]] 1 18 programmers.co.kr 풀이 1. 일단 모든 지역을 사다리 없이 이동할 수 있는 구역으로 묶는다 2. 이제 크루스칼을 사용 1) 하나의 지역은 노드 2) 인접해있는 다른 지역으로 이동할때 드는 사다리 비용이 간선 길이 3) 간선의 정보는 struct 로 저장 -> 섬 두개, 비용 4) 비용에 따라 오름차순으로 정렬하고 유니온파인..
프로그래머스 : 가장 먼 노드 C++ BFS
programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 후기 1. 심플한 BFS다 BFS는 문제만 다르지 푸는 방식이 다 똑같아서 쉬운거 같다 #include #include #include #include using namespace std; vector map[20001]; int solution(int n, vector edge) { int answer = 0; int length[20001];// length[2] 는 1번노드에서 2번노드까지 거리 int visited[20001]; memse..
프로그래머스 : 순위 C++ (플로이드 와샬 활용)
programmers.co.kr/learn/courses/30/lessons/49191 코딩테스트 연습 - 순위 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr 풀이 1. 플로이드 와샬 다시 한번 복습했다, 굉장히 유용할거같다 ex) a->b 가 있고 b-> c 가 있다면 a->c 도 있다는거!! 2. 같은 의미로 a가 b를 이기고, b가 c를 이겼으면 a가 c를 이긴거나 마찬가지 3. 모두 정리 후에 다른 사람들 모두와의 상대전적이 남아있다면 그것의 순위를 알수있다는거! #include #include using namespace std; int solution(int n, vector results) { int answer = 0; in..