목록Algorithm/bfs (14)
Mini

https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1. 상태기반 dfs 방법필요데이터 : 왼쪽자식번호, 우측자식번호, vis[0000001111] 상태에 추가된 비트정보ex) 000001 (상태1) (0번노드 있는상태) 000011(상태3) (0번노드, 1번노드 있는상태) 001011(상태8+2+1) (0번노드,1번노드,3번노드 있는 상태) * 다음상태로 넘어가기//다음상태로 넘어가기for(int i=0;i 2. 전체코드#includ..
https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 1. 문제 그냥 bfs : 메모리초과? 가 났다. bfs는 비용이 모두 동일할때만 사용 가능하다. 해결 : 비용이 적은것부터 탐색하도록 pq에 담는다. 2. 전체코드 #include using namespace std; int n, k; int vis[100000 + 4]; int main() { ios_base::sync_with_stdio(0); cin.t..

https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1. 문자열을 배열처럼 활용하는방법auto place : places후place[i][j]로 접근하면 된다.places -> [POOOX, PPPPP..], [PPAP, ...] [...]place -> [POOOX, PPPPP, ...]place[i] - > POOOXplace[i][0]=='P' 2. check함수 활용방법1. check로 의사코드짜고2. 이후에 구체적으로 구현하도록 하자for(au..
https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 의사코드 1.1. 인접벡터에 집어넣기 1.2. bfs 1.3. 최대거리 계산 1.4. for문 : 최대거리에 있는 노드들 카운팅 2. 전체코드 #include using namespace std; queue q; int visited[20004]; vector adj[20004]; int max_distance; int solution(int n, vector edge) { int answe..
https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1.삽질과정 ny>=n, nx>=n nx도 n으로 되있어서 틀렸습니다가 났다... 해결 : nx>=m -> continue; 2.전체코드 #include using namespace std; queue q; int v[104][104]; int y,x,ny,nx; int dx[]={1,0,-1,0}; int dy[]={0,1,0,-1}; int solution(vector maps) { int n=..
https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net * 의사코드 큐에 넣을때마다(이동가능 일때) cnt 변수 1씩증가 => 1의 갯수카운팅 * 전체코드 #include using namespace std; int n, m, y, x, ny, nx, ret1,ret2; int a[504][504], v[504][504]; int dy[] = {1,0,-1,0}; int dx[] = {0,1,0,-1}; void bfs(int y, int x) { //co..