전체 글79 [백준]BOJ 1068 트리(DFS/반례) [어려웠던 점] 처음에는 '전체 리프 노드 개수 - 지우려는 노드를 루트 노드로 했을 때 리프 노드 개수'를 진행하였다. 그러면, 다음 예시 같은 경우에는 0을 루트 노드로 하면 리프 노드 3개, 1을 루트 노드로 하면 리프 노드 2개이므로, 3 - 2 = 1이므로 답 1을 구할 수 있었다. 그런데, 이와 같은 경우는 다음과 같은 반례를 도출한다. 다음은 노드를 지우고 나면 루트 노드가 하나 남는 상황이다. 그렇다면 답은 1이 나와야 한다. 이와 같은 경우에서 나는 내가 기존에 생각했던 코드의 문제점을 찾아낼 수 있었다. 2 -1 0 1 그래서, 이 코드는 백준에서 70%~80%대에서 틀렸다.... [문제 해결 과정] 문제 해결 과정은 다음과 같다. 1. 연결 리스트에서 지우려고 하는 노드 번호와 일치하.. 2023. 3. 9. [SSH] SSH 접속 오류 REMOTE HOST IDENTIFICATION HAS CHANGED! 다음과 같은 오류가 떴다. 이러한 에러는 접속 정보가 기존의 접속 정보와 다르다는 에러이다. 모든 접속정보는 나의 디렉토리의 .ssh 폴더가 있는데, known_hosts라는 파일에 기록이 된다. 이 파일은 삭제하더라도 다시 만들어지기 때문에, 기존에 잘 못 만들어진 경우 다시 지우면 된다. 저 같은 경우 다음과 같은 디렉토리 경로에 known_hosts 파일 정보가 있었습니다. 2023. 3. 5. [JPA] Entity 개발 시 참고 사항 @Builder @Builder를 쓰며 느꼈던 장점은 다음과 같습니다 1. 명시적 선언으로 각 파라미터가 어떤 의미인지 알기 쉬워 가독성 측면에서 훨씬 편했다. 2. 필요한 데이터만 설정할 수 있었다. 기존에는 해당 상황에 맞는 파라미터를 갖는 생성자들을 여러 개 생성했었는데, @Builder를 통해 필요한 파라미터 데이터만 설정할 수 있게 되었다. 특히, @Builder 어노테이션은 다음과 같이 두 가지 방식이 존재하고, 이중에 2번인 생성자에 @Builder 어노테이션 붙이는 방법을 사용하자! => 필요한 파라미터만 포함된 생성자에 @Builder 어노테이션을 붙이자! 1. 클래스에 @Builder 어노테이션 붙이기(X) @Builder public class User{ ... } 2. 생성자에 @B.. 2023. 2. 27. [백준]BOJ 17484 진우의 달 여행 (Small) [자바/DFS] 문제자체는 간단합니다. 갈 수 있는 방향에 대해 가보고 달에 도착한다면 멈추고 최솟값을 갱신해 주는 완전탐색으로 풀 수 있습니다. 다만, 삽질했던 점은 문제를 보면 시작 위치가 지구에서 출발한다는 것을 알 수 있습니다. 즉, 지구 위치에서도 3방향으로 가볼 수 있다는 소리이므로, DFS 탐색을 수행할때 3방향 개수만큼 반복문을 돌려주며 모든 방향에 대해 탐색해보아야 합니다. 구현 for(int i = 0; i < M; i++) { for(int j = 0; j < 3; j++) {//처음에 시작할때 3방향으로 갈 수 있음 DFS 탐색 수행 } } public class Main{ private static int[][] maps; private static int M, N; private static i.. 2023. 2. 22. 이전 1 2 3 4 5 6 7 ··· 20 다음