링크 : https://www.acmicpc.net/problem/1260
링크 : https://www.acmicpc.net/problem/2606일단 프로그래머스에 BFS DFS 뼈대문제랑 같은 맥락으로 접근하면 될듯바깥에 (sol())에 큰 for문이 있었는데 여기선 그게 필요없고dfs 한 번만 수행하면 될거같다(bfs해도 되긴
링크 : https://www.acmicpc.net/problem/2178이건 BFS네 -> 동빈나에서 같은 문제 있었음다른점 : 테스트케이스가 다양함 => n x n 행렬이 아닌, n x m 행렬임을 주의한다!!!
링크 : https://www.acmicpc.net/problem/1697
DFS 를 재귀로 풀다보면 런타임 에러가 뜬다 \- 이유는 Recursion Error : Recursion이 너무 깊어서 생기는 에러임 \- 백준에선 알려주는데 프로그래머스에선 런타임 에러만 뜸 해결 방법은 sys.set recursion limit(큰수) 을
링크 : https://www.acmicpc.net/problem/11724여태까지 계속 했던 문제유형이다? DFS => 30분컷 했음바로 전 문제와 차이점이 없는거 같긴 한데,그나마 차이점이라 하면 n x m 행렬이 아니고 그래프의 행렬인 n x n행렬로 B
DFS할 때 조건을 거는데, break조건은 특이사항 아니면 거의 없다!!!이번 문제에서도 사방면으로 이동한 경우를 다 봐야 하니까 break말고 continue를 써야한다!if문 끝나면 알아서 재귀 끝날거임(0이나 visit=False 만 남은 경우에)그리고 DFS
list 자료형에 list()로 만들어서 넣고, for문으로 출력해라이때 " ".join()을 쓰려면 안에 원소들이 str()이어야 함!!링크 : https://www.acmicpc.net/problem/66031~49 (49개 중 6개 고름)1차적으로 k개
링크 : https://www.acmicpc.net/problem/7576 메모한 것 익은 토마토 칸 1 vs 익지 않은 토마토 칸 0 vs 토마토 없는 칸 -1 익지 않은 토마토는 주변에 익은 토마토의 영향을 받아 익음 -> DFS BFS 이때 인접하다 =
링크 : https://www.acmicpc.net/problem/7562전에 동빈나에서 나왔던 유형인 것 같은데다른 점은 아마 한 변의 길이를 받는게 없었던듯? 어쨌든 똑같다일단 BFS 최단경로 방식으로 풀어나가면 될거같은데그 숨바꼭질 문제(백준 1697)변
링크 : https://www.acmicpc.net/problem/16953 메모한 것 이거 BFS ??? 가능한 연산 A * 2 str(A) + '1' 출력물 : A를 B로 만드는 최소 연산 횟수 + 1 만들 수 없으면 -1 이거 어떤 비슷한 유형
링크 : https://www.acmicpc.net/problem/12851
링크 : https://www.acmicpc.net/problem/13549
링크 : https://www.acmicpc.net/problem/14226
링크 : https://www.acmicpc.net/problem/17086N x M, 한 칸에 상어 최대 1마리0 = 빈칸1 = 상어이동 기준은 대각선 포함쓰... 가운데 제외 총 8개구해야 하는 것 : 안전 거리의 최댓값브루트폴스로 시작해서 그 loop안에
링크 : https://programmers.co.kr/learn/courses/30/lessons/43162 3 [[1, 1, 0], [1, 1, 0], [0, 0, 1]] 2 3 [[1, 1, 0], [1, 1, 1], [0, 1, 1]] 1 여기서 n=3일
링크 : https://programmers.co.kr/learn/courses/30/lessons/43165
링크 루트는 레벨 1부모를 구하자input = edges루트가 1이라고 가정했을 때의 부모를 출력-> 위로가는 dfs???일단 연결해서 그래프부터 만들어보고 생각하자child = \[0 \* n+1]를 만들고 .index()활용1부터 bfs하는데기본 bfs 뼈대에
링크 : https://www.acmicpc.net/problem/14888브루트포스로 풀었으나, DFS로도 풀 수 있어서 여기에도 작성했음 (브루트포스 게시판에도 써둠)숫자 순서를 바구면 안된다연산자 우선순위는 없다. 왼쪽부터 진행나눗셈은 몫만 취하고, 수가
링크 : https://www.acmicpc.net/problem/183521부터 n개의 도시m개의 단방향 edges (가중치 모두 1)마지막 입력 : 출발 노드번호세 번째 입력 : k특정 도시 x에서 갈 수 있는 도시 중최단거리가 딱 k인 도시 번호를 모두
링크 : https://www.acmicpc.net/problem/14502n x m0 : 빈칸1 : 벽 (테케에서 없을수도 있음)2 : 바이러스 (많을수도 있음)바이러스 -> 상하좌우 모두 퍼져나감반드시 딱 3개의 벽을 추가해야함3개벽을 추가해서 바이러스(=
링크 : https://leetcode.com/problems/number-of-islands/대표적인 BFS DFS 문제임 (섬 개수 찾기)그냥 (중요) 중첩 함수(Nested Function)이란함수 내 위치한 또다른 함수로,해당 함수의 바깥에 위치한 함수
링크 : https://leetcode.com/problems/letter-combinations-of-a-phone-number/아주 좋은 문제니 다음에 다시 풀어보자DFS 이렇게 활용할 수 있다는거..!근데 DFS가아니라 걍 재귀아닌가;2에서 9까지 숫자가
코테에선 itertools를 사용하고 + 주석에 "구현의 효율성, 성능을 위해 사용했다" 는 내용을 달면 금상첨화라이브코딩에선 직접 구현해봐라 시킬 수 있다.삼성코테에서 itertools를 사용할 수 없다는 썰이 있다.Combinations(리스트, 넘버)그리고 이 코