자바

백준 오답노트/이분 탐색

백준 - 이분 탐색 2110번 공유기 설치 / 풀이, 오답

= 문제 접근 방법 ( 틀림 ) = 내가 접근한 방법은 공유기를 하나 하나 다 설치해보고 그거에 최댓값을 찾는 식으로 했었다. 애초에 끝까지 구현도 못한 방식이라 어떻게 말해야 될지 모르겠다.. 이분 탐색 파트에서 1번 2번 문제는 이해했고 어떻게 접근하면 되는 건지 깨달았는데 이런식으로 조금만 문제가 다르게 나오고, 응용이 필요하면 항상 틀린다. 더 깊게 생각하고 여러 문제를 풀면서 사고력을 키워야겠다. = 해결 = 우리가 그동안 해왔던 방식이랑 매우 비슷하다. 인덱스에서 절반을 나누고, 최댓값을 찾는 식으로 구현했었다. 이 문제도 똑같다. 단지, 응용하고 사고력이 필요했던 문제다. 주어진 식으로 최댓값을 찾냐 아니면 주어진 식을 이용해서 결과를 최대로 만드냐 ? 이런 느낌이라고 보면 된다. 숫자 찾기..

백준 오답노트/이분 탐색

백준 - 이분 탐색 2805번 나무 자르기 / 풀이, 오답

= 처음 접근 방법 (틀림) = 이 문제는 시간 초과로 틀렸다. https://byungil.tistory.com/210 백준 - 이분 탐색 1654번 랜선 자르기 / 풀이,오답 = 처음 접근 방법 (틀림) = 접근을 못했다. 숫자 카드2를 응용해서 풀 수 있는 문제였는데, index로만 생각해봤지 이렇게 길이를 쪼개서 이분 탐색을 한다는 것을 새로 배웠다. 구글링을 통해 다른 byungil.tistory.com 이 문제랑 접근 방법, 풀이까지 거의 일치한다고 보면 된다. 똑같은 문제인데 왜 틀렸을까... 좀 더 고민하고 응용 능력을 키워야겠다. upperBound를 이용해서 해결하지 않았기 때문에 틀렸다. 상근이는 환경에 매우 관심이 많기 때문에, 나무를 필요한 만큼만 집으로 가져가려고 한다. 이 문장..

백준 오답노트/이분 탐색

백준 - 이분 탐색 1654번 랜선 자르기 / 풀이,오답

= 처음 접근 방법 (틀림) = 접근을 못했다. 숫자 카드2를 응용해서 풀 수 있는 문제였는데, index로만 생각해봤지 이렇게 길이를 쪼개서 이분 탐색을 한다는 것을 새로 배웠다. 구글링을 통해 다른 사람의 풀이를 보고도 이해하는데 조금 오래걸렸다. 되게 단순한 문제였는데 더 열심히해야겠다. = 풀이 = 어떻게 접근해서 해결했는지 알아보자 https://byungil.tistory.com/205 백준 - 이분 탐색 10816 숫자 카드2 문제 / 복습 자세한 풀이 https://byungil.tistory.com/186 백준 - 집합과 맵 10816번 숫자 카드2 / 이분 탐색을 활용 ( 중복값 ) = 내가 접근한 방법 = 숫자 카드1 문제랑 똑같이 접근했다. Map을 이용해서 Map의 메서드 getO..

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

백준 - 그래프와 순회 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..

초보병일이
'자바' 태그의 글 목록 (2 Page)