728x90

알고리즘 공부(C++) 83

[C++]프로그래머스 게임 맵 최단거리 (BFS)

코딩테스트 연습 - 게임 맵 최단거리 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 완전 탐색으로 풀어야 하는 문제중에 개수가 적은 것은 DFS로 풀어도 되지만, 그렇지 않은 경우에는 BFS로 풀어야지만 효율성을 통과하는 경우가 있다. 게임 맵 최단거리가 그와 같은 경우이다. 1.첫 번째 시도 :DFS (효율성 통과 X) #include #include using namespace std; bool visited[101][101]; int answer = 10001; void DFS(int x, i..

[C++]프로그래머스 피로도

코딩테스트 연습 - 피로도 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include #include using namespace std; bool visited[8] = {false,}; int answer = 0; void DFS(int k, vector dungeons, int cnt) { answer = max(answer, cnt);//깊이 갱신 for (int i=0; i

[C++]프로그래머스 키패드 누르기

코딩테스트 연습 - 키패드 누르기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include #include using namespace std; string solution(vector numbers, string hand) { string answer = ""; vector ans; vector v[10]; pair l = {0, 3}; pair r = {2, 3}; v[0].push_back({1,3}); for (int i = 1; i abs(v[numbe..

[C++]프로그래머스 배달 (다익스트라 알고리즘 이해)

코딩테스트 연습 - 배달 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 다익스트라 알고리즘은 처음이라.. 23. 다익스트라(Dijkstra) 알고리즘 : 네이버 블로그 (naver.com) 23. 다익스트라(Dijkstra) 알고리즘 다익스트라(Dijkstra) 알고리즘은 다이나믹 프로그래밍을 활용한 대표적인 최단 경로(Shortest P... blog.naver.com 우선 다익스트라 알고리즘이란, 노드들이 있고 노드들간의간선에 각 가중치가 정해져 있을 때 최단거리를 구할 때 쓰는 알고리즘이다. ..

BFS 이해

DFS & BFS 이해하기 및 구현(C++) (tistory.com) DFS & BFS 이해하기 및 구현(C++) DFS : Depth First Search(깊이 우선 탐색) - 그래프 전체를 탐색하는 방법 중 하나. (완벽히 탐색) - 시작점부터 다음 branch로 넘어가기 전에 해당 branch를 완벽하게 탐색하고 넘어가는 방법. - [재귀함수] better-tomorrow.tistory.com #include #include #include using namespace std; bool visited[9]; vector graph[9]; // BFS 함수 정의 void bfs(int start) { queue q; q.push(start); // 첫 노드를 queue에 삽입 visited[star..

[C++]프로그래머스 소수 찾기 (next_permutation)

코딩테스트 연습 - 소수 찾기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include #include using namespace std; bool isPrime(int n){ //외워두는 게 좋을 것 if(n < 2) return false; for(int i = 2; i * i

[C++]프로그래머스 숫자 변환하기(BFS)

코딩테스트 연습 - 숫자 변환하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 참고 코드 [C++ 프로그래머스] 숫자 변환하기 (tistory.com) [C++ 프로그래머스] 숫자 변환하기 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co. night-devlog.tistory.com #include #include #include #includ..

프로그래머스 C++ 타겟 넘버 (DFS)

DFS는 너무 오랜만이라... 기억하기 위해 쓴다. [프로그래머스] 타겟 넘버(BFS,DFS) / C++ (velog.io) [프로그래머스] 타겟 넘버(BFS,DFS) / C++ ✅ 프로그래머스 타겟 넘버의 자세한 풀이법 - 재귀와 DFS ❤️‍🔥 velog.io (참조한 블로그) 우선, 깊이우선탐색은 기본적으로 재귀의 형태를 쓴다. 한 DFS함수를 main에다가 구현하는데 맨 처음 index값은 0으로 설정하고, 그 외의 매개변수로는 배열과 다른 필요한 값들을 항시 들고 다니며 값을 변환시켜준다. 그 안에서 별도로 값을 변환시켜줘야 하는 것은 전역변수의 형태를 보통 취한다. 재귀의 형태를 쓴다는 것은 "내 속에 내가 너무도 많아.." 즉, 함수 안의 함수 안의 함수... 형태를 띄는데 이를 즉시 탈출하..

백준 12782 비트 우정지수 (파이썬/그리디)

12782번: 비트 우정지수 (acmicpc.net) 12782번: 비트 우정지수 진홍이는 숫자를 좋아한다. 오늘도 숫자를 가지고 놀던 진홍이는 두 숫자의 비트 우정지수를 구해보았다. 비트 우정지수란, 10진법으로 나타낸 두 정수를 이진수로 나타내었을 때, 두 숫자를 같 www.acmicpc.net 예제 출력은 잘 됐는데 틀렸다고 나와서........ 진짜 뭐가 틀렸나 계속 모르겠었는데 아주 복잡한 수를 넣어보니까 결함을 알았다. T = int(input()) for i in range(T): stat = 0 result = 0 N, M = input().split() for i in range(len(N)): if N[i] != M[i]: if (stat == 0): stat = N[i] result ..

728x90