백준

코딩 테스트

(Java) 백준 9934 - 완전 이진 트리

문제가 어려운 느낌은 아닌데 중간중간 막혔던 문제이다. 먼저 완전 이진 트리의 노드 개수는 2^k-1개 를 생각해야 하고 그리고 문제에서 입력값이 중위 순회이기 때문에 루트 노드가 매번 가운데에 있는 것을 알아야 한다. 이런 특징을 제대로 몰라서 막혔던 것 같다. 최종 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Main { static int k; static int[] arr; static List list; public static void main(..

코딩 테스트

(Java) 백준 5639 - 이진 검색 트리

많이 어려움을 겪었던 문제였다. 보통 다른 문제들은 입력값 N을 주어 몇 번 입력되는지 알려주는데 이 문제는 N이 없어서 고생을 많이 했다. while문으로 입력값이 없으면 멈추게 하려고 시도하고 IDE에서 디버깅을 했는데 잘 되지 않았다. 입력문을 처리하려고 한 시간을 넘게 시도했지만 계속 실패해서 결국 검색을 통해 다른 분들은 어떻게 풀었는지 참고했는데 나랑 똑같은 방법으로 풀었다........ 설마 IDE가 문제인가 싶어서 디버깅 없이 답안을 제출하니 맞았다. 트리를 연습하려고 문제를 풀었는데 입력값 처리만 고민해서 허무했다. 이 문제는 입력값으로 트리로 만들 수만 있다면 간단한 문제다. 트리를 만들 수 있다면 후위 순회 메서드는 금방 작성할 수 있기 때문이다. 다만 트리를 만드는 게 그렇게 쉽지는..

코딩 테스트

(Java) 백준 11725 - 트리의 부모 찾기

문제를 풀다 보니 트리에 약점이 있는 것 같아 트리 문제를 풀어보았다. 문제 이해가 좀 어려웠다. 문제에 어떤 트리인지 특정하지 않아서 생각하기 더 어려웠나? 인접 행렬이나 인접 리스트를 만들면 탐색은 금방 할 것 같았는데 인접 리스트를 만드는 게 어려웠다. 트리 문제를 더 풀어봐야겠다. 최종 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System..

코딩 테스트

(Java) 백준 9935 - 문자열 폭발

간단해 보이는 문제였지만 어떤 식으로 구현할지 고민이 많이 되는 문제였다. 슬라이딩 윈도우를 적용하는 방법도 생각해봤지만 이미 합친 문자열을 나누는 게 쉽지 않았다. 조금만 고민하면 금방 풀 것 같은 느낌이여서 한 시간을 넘게 이것저것 시도해보다 검색해서 힌트를 얻었다. Stack을 이용해서 문자열을 하나씩 넣은후 탐색하는 방법인데 비슷하게는 생각했었지만 막상 코드로 구현하려니 쉽지 않았다. 간단해 보이지만 혼자서 생각했다면 몇 시간을 고민했어도 성공했을지는 잘 모르겠다. 유형별로 돌려가며 풀어야겠다. 최종 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.uti..

로승리
'백준' 태그의 글 목록