= 처음 접근 방법 (틀림) = 접근을 못했다. 숫자 카드2를 응용해서 풀 수 있는 문제였는데, index로만 생각해봤지 이렇게 길이를 쪼개서 이분 탐색을 한다는 것을 새로 배웠다. 구글링을 통해 다른 사람의 풀이를 보고도 이해하는데 조금 오래걸렸다. 되게 단순한 문제였는데 더 열심히해야겠다. = 풀이 = 어떻게 접근해서 해결했는지 알아보자 https://byungil.tistory.com/205 백준 - 이분 탐색 10816 숫자 카드2 문제 / 복습 자세한 풀이 https://byungil.tistory.com/186 백준 - 집합과 맵 10816번 숫자 카드2 / 이분 탐색을 활용 ( 중복값 ) = 내가 접근한 방법 = 숫자 카드1 문제랑 똑같이 접근했다. Map을 이용해서 Map의 메서드 getO..
에라토스테네스의 체 알고리즘을 알고 있어야 해결할 수 있는 문제였다. 이 알고리즘만 확실하게 알면 어렵지 않게 풀 수 있다. 난 이 알고리즘을 몰랐기 때문에 시간 초과로 틀렸다. 알고리즘에 대한 자세한 설명은 여기 글에 적어놨다. https://byungil.tistory.com/197 에라토스테네스의 체 알고리즘 - 소수 구하기 알고리즘 우리는 에라토스테네스의 체(Sieve of Eratosthenes)라는 방법을 통해 보다 쉽게 소수를 찾아낼 수 있습니다. 이름 그대로 체를 통해 무언가를 걸러내듯이 소수를 찾는 방법입니다. 일반적으로 소수만 byungil.tistory.com = 접근 방법 ( 틀린 이유 ) = 내가 처음 접근한 소수 찾는 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 1..
= 내가 접근한 방법 ( 틀림 ) = 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) 이런 식으로는 해결 할 수 없었다. = 해결한 방법 = ..
자세한 풀이 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 ..
이 문제를 풀기 전에 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..
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..