level3 LEVEL3/풍선 터뜨리기 참조한 풀이 이 문제는 코드를 만드는 것은 어렵지 않지만 해결 방법을 생각하는 것이 어려운 문제이다. 문제의 해결방법은 a의 리스트에서 어떠한 원소를 기준으로 그 원소의 왼쪽과 오른쪽둘 중 어느 한 방향중에 자기보다 큰 수들만 존재한다면 이 수는 마지막까지 남기는 것이 가능하다. 따라서 result하는 a와 같은 길이에 0으로 채워진 리스트를 만들고 minFront, minRear에 floa... programmerslevel3level3 rogramers : 단어 변환 - C++ 백트래킹PROGRAMERSlevel3PROGRAMERS [프로그래머스/greedy/level3] 단속카메라 그리디 문제 정렬을 통한 그리디 로직 적용하기 각 차량이 고속도로를 벗어나는 지점(routes[1])을 기준으로 오름차순 정렬한다. (CollectionFramework에서 제공하는 정렬은 QuickSort를 사용한다.) 차량을 확인하며 이전의 차량이 고속도로를 벗어나는 시점과 다음 차량의 고속도로를 진입하는 시점이 겹치는지를 확인한다. 겹치치 않을 경우, 카메라를 배치하고 카메라를 놓을 후... greedy단속카메라programmerslevel3greedy rogramers : 여행 경로 - C++ 깨달은 것 : vector<vector<string>>> ansList 자체를 오름차순으로 꺼내려면 sort(ansList.begin(), ansList.end()); 로하면 된다 (기본 sort에서 vector<string>에 대해 알아서 정렬 해줌)... 백트래킹PROGRAMERSlevel3PROGRAMERS 49189 - 가장 먼 노드 Description n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 ... DFSlevel3그래프알고리즘프로그래머스DFS [프로그래머스 level3] 자물쇠와 열쇠 (C++) 2020 kakao blind recruitment에서 나왔던 문제로 복잡한 구현문제입니다. key의 크기 M은 lock의 크기 N 이하이다. key는 이동과 회전이 가능하다. (90,180,270도 모두 가능) key의 돌기부분(1)과 자물쇠의 홈 부분(0)이 일치해야 한다. 자물쇠의 모든 홈을 채워 비어있는 곳이 없어야 자물쇠를 열 수 있다. 조건이 참 많은 구현문제입니다. key의 이동... 알고리즘구현level3프로그래머스CC rogramers : 단속카메라 - C++ 핵심 아이디어 경로가 일찍 끝나는 것 부터 cctv를 설치하는데 동시에 포함되는 경로는 같은 cctv로 처리할 수 있음 --> 경로가 끝나는 것을 기준으로 오름차순 정렬 + 경로의 시작이 빠른 것 순서대로 정렬 + idx 증가 map을 이용해서 이미 처리된 경로는 continue로 넘긴다 주의 : 범위가 겹칠 때에 해당 위치에 cctv를 놓으면 걸친 곳 모두 하나의 cctv로 해결 가능 --... greedyPROGRAMERSlevel3PROGRAMERS [JavaScript][Programmers] 불량 사용자 처음에 조합을 생각하고, 담아둔 배열을 match를 해서 true면 다음 dfs돌리고 마지막에 담긴 arr에 중복을 제거하고 결과를 리턴해야겠다고 생각했다. 먼저, match부터 작성하였고, 중복을 작성하는데 구현하다가 막혀서 결국 다른 코드를 보게되었다. banned_id를 다 탐색했으면, arr에다 결과를 push하고, match가 true일 때 다시 dfs를 돌렸다. 마지막에 중복제거를... 알고리즘level3JavaScript프로그래머스JavaScript (프로그래머스) 기지국 설치 문제 접근 처음에 기지국의 영향을 받는 시작점과 끝점을 담은 Node에 대한 배열을 만들고 이를 오름차순으로 정렬하였다. 그리고 그 배열을 처음부터 탐색해서 기지국의 영향을 받지 않는 공간에 대해 계산하였다. 아래와 같이 말이다. 코드 하지만 시간초과가 났다. stations의 최대 길이가 2억인데, 이 방법으로 구현하게 되면 최악의 경우 총 4억이라는 시간이 들게 된다. 당연히 시간초과다.... level3프로그래머스level3
LEVEL3/풍선 터뜨리기 참조한 풀이 이 문제는 코드를 만드는 것은 어렵지 않지만 해결 방법을 생각하는 것이 어려운 문제이다. 문제의 해결방법은 a의 리스트에서 어떠한 원소를 기준으로 그 원소의 왼쪽과 오른쪽둘 중 어느 한 방향중에 자기보다 큰 수들만 존재한다면 이 수는 마지막까지 남기는 것이 가능하다. 따라서 result하는 a와 같은 길이에 0으로 채워진 리스트를 만들고 minFront, minRear에 floa... programmerslevel3level3 rogramers : 단어 변환 - C++ 백트래킹PROGRAMERSlevel3PROGRAMERS [프로그래머스/greedy/level3] 단속카메라 그리디 문제 정렬을 통한 그리디 로직 적용하기 각 차량이 고속도로를 벗어나는 지점(routes[1])을 기준으로 오름차순 정렬한다. (CollectionFramework에서 제공하는 정렬은 QuickSort를 사용한다.) 차량을 확인하며 이전의 차량이 고속도로를 벗어나는 시점과 다음 차량의 고속도로를 진입하는 시점이 겹치는지를 확인한다. 겹치치 않을 경우, 카메라를 배치하고 카메라를 놓을 후... greedy단속카메라programmerslevel3greedy rogramers : 여행 경로 - C++ 깨달은 것 : vector<vector<string>>> ansList 자체를 오름차순으로 꺼내려면 sort(ansList.begin(), ansList.end()); 로하면 된다 (기본 sort에서 vector<string>에 대해 알아서 정렬 해줌)... 백트래킹PROGRAMERSlevel3PROGRAMERS 49189 - 가장 먼 노드 Description n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 ... DFSlevel3그래프알고리즘프로그래머스DFS [프로그래머스 level3] 자물쇠와 열쇠 (C++) 2020 kakao blind recruitment에서 나왔던 문제로 복잡한 구현문제입니다. key의 크기 M은 lock의 크기 N 이하이다. key는 이동과 회전이 가능하다. (90,180,270도 모두 가능) key의 돌기부분(1)과 자물쇠의 홈 부분(0)이 일치해야 한다. 자물쇠의 모든 홈을 채워 비어있는 곳이 없어야 자물쇠를 열 수 있다. 조건이 참 많은 구현문제입니다. key의 이동... 알고리즘구현level3프로그래머스CC rogramers : 단속카메라 - C++ 핵심 아이디어 경로가 일찍 끝나는 것 부터 cctv를 설치하는데 동시에 포함되는 경로는 같은 cctv로 처리할 수 있음 --> 경로가 끝나는 것을 기준으로 오름차순 정렬 + 경로의 시작이 빠른 것 순서대로 정렬 + idx 증가 map을 이용해서 이미 처리된 경로는 continue로 넘긴다 주의 : 범위가 겹칠 때에 해당 위치에 cctv를 놓으면 걸친 곳 모두 하나의 cctv로 해결 가능 --... greedyPROGRAMERSlevel3PROGRAMERS [JavaScript][Programmers] 불량 사용자 처음에 조합을 생각하고, 담아둔 배열을 match를 해서 true면 다음 dfs돌리고 마지막에 담긴 arr에 중복을 제거하고 결과를 리턴해야겠다고 생각했다. 먼저, match부터 작성하였고, 중복을 작성하는데 구현하다가 막혀서 결국 다른 코드를 보게되었다. banned_id를 다 탐색했으면, arr에다 결과를 push하고, match가 true일 때 다시 dfs를 돌렸다. 마지막에 중복제거를... 알고리즘level3JavaScript프로그래머스JavaScript (프로그래머스) 기지국 설치 문제 접근 처음에 기지국의 영향을 받는 시작점과 끝점을 담은 Node에 대한 배열을 만들고 이를 오름차순으로 정렬하였다. 그리고 그 배열을 처음부터 탐색해서 기지국의 영향을 받지 않는 공간에 대해 계산하였다. 아래와 같이 말이다. 코드 하지만 시간초과가 났다. stations의 최대 길이가 2억인데, 이 방법으로 구현하게 되면 최악의 경우 총 4억이라는 시간이 들게 된다. 당연히 시간초과다.... level3프로그래머스level3