분류 전체보기

[Python]알고리즘/백준

[DFS/BFS/완전탐색] 1926번 - 그림(BFS)

[백준] 1926번 - 그림 풀이 시간: 10분 이내 아주 쉽게 해결할 수 있었던 문제이다. 그림의 개수와 그 중 가장 넓은 그림의 넓이를 출력하는 문제로 BFS, DFS로 모두 풀이가 가능한 유형이다. 하지만 다른 사람들의 DFS 풀이를 찾아봐도 시간초과나 메모리초과 문제가 다수가 발생했다. 아래 글에 따르면 DFS에서 방향벡터를 이용해 for문을 돌리지 않으면 메모리 초과가 뜨지 않았지만 이런 문제의 경우 그냥 BFS로 풀이하는 것이 좋을 듯 하다. DFS는 재귀 방식으로 수행되기 때문에 호출할 때마다 스택에 쌓여 메모리를 많이 차지하게 되고 BFS는 큐에 쌓이는 객체의 크기가 크지 않다면 훨씬 적은 비용이 발생하므로 메모리 측면에서 유리할 수 있다. 오늘의 교훈! 상황에 따라 DFS, BFS 풀이를..

[Python]알고리즘/백준

[DFS/BFS/완전탐색] 17086번 - 아기 상어2(BFS)

[백준] 17086번 - 아기 상어2 풀이 시간: 40분 이내 유사 문제: 7576번 https://hseungyeon.tistory.com/217 [DFS/BFS/완전탐색] ▲ 7576번 - 토마토 [백준] 7576번 - 토마토 풀이 시간: 40분 이내 1) 문제 해결 아이디어 토마토가 모두 익을 때까지 최소 날짜를 구하는 문제다. 익은 토마토가 상하좌우로 인접한 위치에 있는 익지 않은 토마토를 hseungyeon.tistory.com N * M의 맵에서 상어 위치 기준 둘러싼 8개의 좌표로 이동이 가능하다. 이 문제는 처음에 BFS로 풀어야 하나 싶지만 1개 이상의 상어에서 가장 멀리 떨어진 칸을 찾는 문제로 BFS로 풀어야하는 문제이다. (풀이1) 시간 초과한 코드(0인 곳에서 bfs 호출) 1) ..

[Python]알고리즘/백준

[DFS/BFS/완전탐색] 1303번 - 전쟁 - 전투(BFS/DFS)

[백준] 1303번 - 전쟁 - 전투 풀이 시간: 15~20분 이내 정석대로만 풀면 아주 쉽게 풀 수 있는 문제로 DFS, BFS 풀이가 모두 가능하다. DFS 풀이가 시간, 메모리 효율이 더 뛰어나다. (풀이1) BFS 1) 문제 해결 아이디어 2) 소스코드 from collections import deque # BFS def bfs(x, y, color): cnt = 0 # 병사 수 queue = deque() # 시작 지점 삽입, 방문 처리 queue.append((x, y)) graph[x][y] = 0 while queue: x, y = queue.popleft() cnt += 1 for i in range(4): nx = x + dx[i] ny = y + dy[i] if(0

[Python]알고리즘/백준

[DFS/BFS/완전탐색] ▲ 13913번 - 숨바꼭질 4(BFS)

[백준] 13913번 - 숨바꼭질 4 풀이 시간: 60분 이내 유사 문제: 1697번, 12851번, 13549번 https://hseungyeon.tistory.com/222 [DFS/BFS/완전탐색] 1697번 - 숨바꼭질(BFS) [백준] 1697번 - 숨바꼭질 풀이 시간: 40분 이내 1) 문제 해결 아이디어 코드를 짜는데는 10분 정도 걸렸는데 오류를 고치는데 시간을 허비했다. 이 문제 같은 경우는 수빈이와 동생의 위치가 N, K로 hseungyeon.tistory.com https://hseungyeon.tistory.com/229 [DFS/BFS/완전탐색] ★ 12851번 - 숨바꼭질 2(BFS) [백준] 12851번 - 숨바꼭질 2 풀이 시간: 60분 이내 유사문제 1697번 https:/..

[Python]알고리즘/백준

[DFS/BFS/완전탐색] ★ 13549번 - 숨바꼭질 3(BFS)

[백준] 13549번 - 숨바꼭질 3 풀이 시간: 15~20분 이내 2가지 풀이 방법이 있으나 2번 풀이가 문제를 본질적으로 이해하고 효율적으로 짠 코드이기 때문에 이렇게 구현하는 것이 바람직하다. 유사 문제: 1697번, 12851번 https://hseungyeon.tistory.com/222 [DFS/BFS/완전탐색] 1697번 - 숨바꼭질(BFS) [백준] 1697번 - 숨바꼭질 풀이 시간: 40분 이내 1) 문제 해결 아이디어 코드를 짜는데는 10분 정도 걸렸는데 오류를 고치는데 시간을 허비했다. 이 문제 같은 경우는 수빈이와 동생의 위치가 N, K로 hseungyeon.tistory.com https://hseungyeon.tistory.com/229 [DFS/BFS/완전탐색] ★ 12851번..

[Python]알고리즘/백준

[DFS/BFS/완전탐색] ★ 12851번 - 숨바꼭질 2(BFS)

[백준] 12851번 - 숨바꼭질 2 풀이 시간: 60분 이내 유사문제 1697번 https://hseungyeon.tistory.com/222 [DFS/BFS/완전탐색] 1697번 - 숨바꼭질(BFS) [백준] 1697번 - 숨바꼭질 풀이 시간: 40분 이내 1) 문제 해결 아이디어 코드를 짜는데는 10분 정도 걸렸는데 오류를 고치는데 시간을 허비했다. 이 문제 같은 경우는 수빈이와 동생의 위치가 N, K로 hseungyeon.tistory.com 1) 문제 해결 아이디어 알고리즘을 짜는 것 자체는 20분 정도 걸렸는데 오류를 고치는데 시간이 오래 걸린 문제로 계속 모르겠어서 검색을 통해 해결했다. 추후 복습이 꼭 필요한 문제!! 이 문제는 시작, 끝 위치가 주어졌을 때, 시작위치에서 끝위치까지 도달할..

[Python]알고리즘/백준

[DFS/BFS/완전탐색] ▲ 5014번 - 스타트링크(BFS)

[백준] 5014번 - 스타트링크 풀이 시간: 15분 이내 이 문제는 S층에서 G층으로 가기 위해 눌러야 하는 최소 버튼 수를 구하는 것으로 최단경로 문제에 속하므로 BFS로 풀어야 한다. 이전에 풀었던 문제와 거의 유사하므로 참고하면 좋을 듯 하다. https://hseungyeon.tistory.com/224 [DFS/BFS/완전탐색] ▲ 16953번 - A → B(BFS) [백준] 16953번 - A → B 풀이 시간: 40분이내 1) 문제 해결 아이디어 리플릿에서 코드를 짜고 실행을 했을 때는 graph크기를 (10**9 _+ 1) 로 생성하니 그냥 종료 되었다. 크기를 수정하니 전혀 문제가 hseungyeon.tistory.com 방문처리를 하는 방법에 따라 2가지 방식으로 풀 수 있다. (풀이..

[Python]알고리즘/백준

[DFS/BFS/완전탐색] ★ 2468번 - 안전 영역(BFS/DFS)

[백준] 2468번 - 안전 영역 풀이 시간: 90분 이내 문제를 푸는 데는 20분 정도 걸렸는데 오류를 해결하는데 시간이 오래걸렸다. 나중에 다시한번 풀어봐야할 문제인 것 같다. (풀이1) BFS 1) 문제 해결 아이디어 첫번째 오류. TypeError 예약어를 변수명으로 사용하였기 때문에 나타난 오류다. 변수명을 min, max와 같은 예약어를 사용하면 문제가 된다! [참고] https://m.blog.naver.com/passionisall/221828106961 [Python] 파이썬 'int' object is not callable 에러코드 설명 atom 편집기의 경우 한 파일에서 이전에 쓰던 코드를 지우고 새로 작성할 경우 문제가 없을 수 있다. 하지... blog.naver.com 두번째 ..

HSY_mumu
'분류 전체보기' 카테고리의 글 목록 (29 Page)