일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- web
- 프로그래머스
- 그래프 이론
- 알고리즘
- lv2
- 너비 우선 탐색
- 구현
- level2
- 웹 프론트엔드
- BASIC
- 정렬
- 그래프이론
- 자바스크립트
- 백준
- programmers
- 자료구조
- 그리디 알고리즘
- 파이썬
- 다이나믹 프로그래밍
- BFS
- 그래프 탐색
- 딕셔너리
- 브루트포스 알고리즘
- DP
- 문자열
- 스택
- DFS
- CSS
- JavaScript
- 프로그래머스스쿨
- Today
- Total
목록DFS (9)
DevLog:-)

문제 모음사전 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 function solution(word) { var answer = 0; let arr=[]; let li = ['A','E','I','O','U']; let result; function dfs(i,n,arr){ answer++; if(arr == word){result=answer;} if(n>4){return;} for(let j of li){ dfs(j,n+1,arr+j); i++; } } for(let i of li){ dfs(i,1,i); } return result; } df..

문제 타겟 넘버 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 function solution(numbers, target) { var answer = 0; function dfs(N,result,p){ result = result +numbers[N]*p if(N == numbers.length-1){ if(result ==target){answer++;} return;} dfs(N+1,result,1); dfs(N+1,result,-1); } dfs(0,0,1); dfs(0,0,-1); return answer; } dfs사용해서 문제를 해결했다..

문제 소수 찾기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 function solution(numbers) { var answer = 0; let set = new Set(); let visited = Array(numbers.length).fill(0); let Num = Array.from(numbers); Num =Num.map((e)=>parseInt(e)) //문자열-> 숫자 배열로 변환 function check(n){ let k = n>4 ? n/2 : n; for(let i =2 ;i

문제 피로도 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 완전탐색을 필요로 하는 문제이다. 그중 dfs를 이용해 풀 수 있다. 코드 //경로탐색#네트워크#조합만들기🌰 //dfs🌰#bfs //visited //재귀함수 function solution(k, dungeons) { let d = dungeons; let visited = Array(d.length).fill(0) let answer = 0; function dfs(k,result){ answer = answer =d[i][0] && visited[i] ==0 ){ visited[i] =1; d..

문제 숫자 변환하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs로 푼 코드이다. function solution(x, y, n) { let r = []; function fun(v,l){ //console.log(v+","+l) if(v === y){ r.push(l); return;} else if(v > y){ return } fun(v+n,l+1); fun(v*2,l+1); fun(v*3,l+1); return; } fun(x,0); if(!r.length){ return -1;} return Math.min(...r); } 결과.. 배열을..

문제 코드 설계 BFS와 DFS를 이용해 풀 수 있는 문제다 먼저 이중 for 문을 돌고 이때 1이면서 방문한 적이 없는 칸을 만나면 bsq 함수로 넘어가게 했다. 그리고 bsq를 돌면서 주변의 1을 다 탐색하게 했다. 1을 발견할 때마다 c 변수의 값을 올려 해당 단지에 속하는 집의 수를 카운트했다. bsq 함수가 하나 끝날 때마다 아파트 단지 한 개를 구했다는 것이기 때문에 단지의 수를 담는 변수인 count에 +1을 해줬다. 단지별 집의 수를 오름차순으로 정렬 출력해야 하기 때문에 bsq 함수에서 집의 수를 카운트했던 c를 함수 반환값으로 해서 바로 배열에 넣어 주었다.

문제 코드 import sys from collections import deque N,M,V = map(int,sys.stdin.readline().strip().split()) graph =[[] for _ in range(N+1)] def dfs(cur_v): visited.append(cur_v) for v in graph[cur_v]: if(v not in visited): dfs(v) return visited def bfs(start_v): visited=[start_v] q = deque() q.append(start_v) while(q): cur_v =q.popleft() for v in graph[cur_v]: if(v not in visited): visited.append(v) q...

문제코드BFSimport sysfrom collections import dequen = int(sys.stdin.readline())m = int(sys.stdin.readline())graph=[[] for _ in range(n+1)]def bfs(start_v): visited=[start_v] q =deque() q.append(start_v) while(q): cur_v=q.popleft() for v in graph[cur_v]: if(v not in visited): visited.append(v) q.append(v) re..

문제 Number of Islands - LeetCode Can you solve this real interview question? Number of Islands - Given an m x n 2D binary grid grid which represents a map of '1's (land) and '0's (water), return the number of islands. An island is surrounded by water and is formed by connecting adjacent l leetcode.com 접근 방법 1.한 칸씩 확인한다.→ 이중for문 2.육지의 경우 주변을 다 탐색한다. → bfs or dfs 3.탐색한 육지는 다시 탐색하지 않도록 기록한다. →visite..