백준 오답노트

백준 오답노트/그래프와 순회

백준 - 그래프와 순회 1012 유기농 배추 문제 / DFS풀이, 오답

= 내가 접근한 방법 ( 틀림 ) = dfs라는 함수 안에서 다시 dfs(y - 1, x) dfs(y + 1, x) dfs(y, x - 1) dfs(y, x + 1) 이런 식으로 함수를 구성했다. 근데 이렇게 했을 때 문제점이 뭐냐면 방문 여부를 체크는 할 수 있어도 지렁이의 개수를 만족시키지 못했다. 그러니까, 처음 배추가 (0, 0) 을 들어간다고 가정하고 배추가 있으면 result++, 그리고 인접해있는 배추들을 다 방문처리를 해서 맨 처음 for문에서 다시 방문을 못하게 만들어야 한다는 것이다. 이러한 조건을 만족하려면 내가 맨 처음 구성했던 dfs(y - 1, x) dfs(y + 1, x) dfs(y, x - 1) dfs(y, x + 1) 이런 식으로는 해결 할 수 없었다. = 해결한 방법 = ..

백준 오답노트/이분 탐색

백준 - 이분 탐색 10816 숫자 카드2 문제 / 복습

자세한 풀이 https://byungil.tistory.com/186 백준 - 집합과 맵 10816번 숫자 카드2 / 이분 탐색을 활용 ( 중복값 ) = 내가 접근한 방법 = 숫자 카드1 문제랑 똑같이 접근했다. Map을 이용해서 Map의 메서드 getOrDefault를 활용하는 방식으로 해결했는데 이 문제도 이분 탐색을 이용해서 풀어야 되는 문제였다. 지난 byungil.tistory.com = 접근 방법 = 1. 단순 for문을 이용하면 시간 초과, 따라서 이분 탐색 알고리즘을 활용해서 시간 복잡도 O(logN)로 풀자. 2. 중복값이 허용되는 문제이기 때문에 내가 찾는 숫자의 최소 index와 최대 index를 구해서 개수를 확인하자. 예를 들면, 1 1 2 2 5 => index: 0 1 2 3 ..

백준 오답노트/그래프와 순회

백준 - 그래프와 순회 2606 바이러스 문제 / 문제풀이

이 문제를 풀기 전에 DFS와 BFS에 대한 내용을 보고 푸는 것을 추천한다. https://byungil.tistory.com/203 백준 - 그래프와 순회 1260 DFS와 BFS문제 / 문제풀이, 해설 링크 https://www.youtube.com/watch?v=d3R1s_OmwAk DFS와 BFS에 대한 해설은 이 영상을 참조하는게 좋을 것 같다. 나도 접근 방법을 아예 몰랐기 때문에 이 영상으로 공부했다. DFS는 깊이 우선, BFS 너비 우선 DFS는 한 byungil.tistory.com 1260, DFS와 BFS문제와 똑같은 문제다. 이전에 문제를 완벽하게 이해했기 때문에 이렇게 간단한 문제는 어려움 없이 해결할 수 있었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15..

백준 오답노트/그래프와 순회

백준 - 그래프와 순회 1260 DFS와 BFS문제 / 문제풀이, 해설 링크

https://www.youtube.com/watch?v=d3R1s_OmwAk DFS와 BFS에 대한 해설은 이 영상을 참조하는게 좋을 것 같다. 나도 접근 방법을 아예 몰랐기 때문에 이 영상으로 공부했다. DFS는 깊이 우선, BFS 너비 우선 DFS는 한 곳만 죽어라 파고, BFS는 여러개를 골고루 판다는 느낌이다 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273import java.io.BufferedReader;import java.io.IOException;import java.io.InputStrea..

백준 오답노트/투 포인터

백준 - 투 포인터 1450 냅색 문제 / 문제풀이, 오답

= 내가 접근 방법 ( 틀림 ) = 처음 내가 접근한 방법은 부분합을 구할 때 사용한 알고리즘을 이용했다. 처음 합은 0 0

백준 오답노트/투 포인터

백준 - 이분 탐색 1920 수 찾기 문제 / 문제풀이, 알고리즘 복습

= 접근 방법 = 2중 for문을 이용하면 분명 시간 초과로 실패하기 때문에 이분 탐색을 알고리즘을 이용해서 시간 복잡도를 O(logN)으로 해결하자. 1. n개의 정수를 담은 배열을 정렬한다. ( Arrays.sort ) 2. 이분 탐색 알고리즘으로 m개의 정수가 존재하는지 확인한다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 import java.io.BufferedReader; import java.io.IOException; import java.io.I..

초보병일이
'백준 오답노트' 카테고리의 글 목록 (3 Page)