코딩 테스트 (74) 썸네일형 리스트형 백준 1260 Bfs, Dfs #include #include #include #include #include using namespace std;int N;int M;int V;void Bfs(vector>& ad){ queue q; vector visited(ad.size() + 1, false); q.push(V); cout >& ad, vector& visited,int start){ vector vec; vec.push_back(start); cout > N >> M >> V; vector> ad(N+1, vector(N+1, false)); for (int i = 0; i > a >> b; ad[a][b] = true; ad[b][a] = true; } vector visited(ad.size() + 1, false);.. 백준 - 2178 미로탐색 1. parent 방식을 이용할 수 있지만 반복문을 한 번 더 돌기 때문에 시간초과가 난다. 거리 계산 방식을 이용해야한다.2. 방문을 다음 갈 곳을 찾았을때 바로 방문 했다고 알려줘야한다. 다음 이어지는 공간에서 중복되는 문제가 생긴다. 메모리 초과#include #include #include #include #include using namespace std;int dy[4] = { 0,0,1,-1 };int dx[4] = { -1,1,0,0 };struct Pos{ Pos(int X, int Y) { y = Y; x = X; } Pos() = default; int y; int x; bool operator> N >> M; int answer = 1; int arr[101][101]; int .. 프로그래머스 - 구명보트 #include #include #include using namespace std;int solution(vector people, int limit) { int answer = 0; int cachelimit = limit; sort(people.begin(), people.end()); int min = 0; int max = people.size()-1; while(min 프로그래머스 - 스킬트리 #include #include #include using namespace std;int solution(string skill, vector skill_trees) { int answer = 0; int index = 0; for(int i = 0 ; i nums; for(int j = 0; j 프로그래머스 - 더 맵게 pop 할 때는 조심히 하자. 굳이 비어있을때만을 조건의 끝으로 보지 않아도 된다. 좀 더 쉽게 접근해도 괜찮다. 그게 오히려 잘만든거임#include #include #include #include using namespace std;int solution(vector scoville, int K) { int answer = 0; priority_queue, greater> pq(scoville.begin(), scoville.end()); while(pq.size() > 1 && pq.top() = K ) { break; } int two = pq.top(); pq.pop(); .. 프로그래머스 - 예상 대진표 a 와 b 가 2,3 4,5 이렇게 붙을 때에 예외처리를 해주어야한다. #include using namespace std;int solution(int n, int a, int b){ int answer = 0; if(a 프로그래머스 - 네트워크 (bfs, dfs or union-find) #include #include #include using namespace std;vector parent;int find(int n){ if( n == parent[n]) return n; else return parent[n] = find(parent[n]);}void merge(int n, int v){ n = find(n); v = find(v); if(n v) parent[n] = find(v);}int solution(int n, vector> computers) { int answer = 0; vector p; for(int i = 0; i 백준 1246 #include #include #include using namespace std;int main(void){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, m; cin >> n >> m; vector nums; for (int i = 0; i > num; nums.push_back(num); } sort(nums.begin(), nums.end()); int cnt = 0; int answer = 0; int idx = 0; for (int i = 0; i answer) { answer = nums[i] * (m - i); idx = nums[i]; } } else { if (nums[i] * n .. 이전 1 2 3 4 5 6 7 ··· 10 다음