728x90
반응형

자바알고리즘 4

[LeetCode][Java] 110. Balanced Binary Tree

문제에 대한 오해가 있어서.. 역대급으로 틀려버렸다.. 역시 오해는 금물!! 문제 left와 right 높이 차이가 1보다 크게 나면 false, 아니면 true를 return 하는 문제! 근데 나는 여기서 root의 left , right 로 생각하면 되는 줄 알고.. 계속 root의 왼쪽과 오른쪽의 최대 높이를 구하고 그 두 개를 비교했다.. 나의 오답 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode..

[백준] 2839번 JAVA 설탕 배달

이 문제는 거의 2일? 적게 생각하긴 했지만.. 계속 생각해도 생각이 나지 않아 엄청 답답해 하고 있었다.. 그러다 결국 오늘 글을 쓰기 위해 유튜브를 급히 보았다. 세상.. 엄청 똑똑하신 분들이 많던데.. 보다가 엄청 띠용하는 분의 영상을 보고 설명을 해보고자 한다. DP란 결국 규칙성을 찾는 문제인데 규칙성 찾기가 너무나 어렵다 ㅠㅠ 우선 문제는 다음과 같다 가장 적은 개수의 봉지로 설탕을 나누기 위해서는 5봉지가 많아야 된다. 그래서 설탕을 5개씩 나열해보면 위 그림과 같이 나열 할 수 있다. 그럼 5개로 나누었을 때 경우의 수는 설탕이 0개, 1개, 2개, 3개, 4개가 남는 경우가 있다. 그림으로 표현하면 이러한 경우가 있다. 이때를 봉지로 계산해보면! 한개의 설탕이 남는 경우, 위와 같이 5개..

[백준] 11726번 타일 채우기

예전에 취업 준비 하면서 공부 했을때도 잘 못했던 DP 문제를 공부하기 위해 DP를 다시 열었다.. 근데 여전히 하~나도 예전보다 어쩌면 더 잘 모르겠다.. 그래서 쉬운거?부터 천천히 공부해봐야지! 문제입니다! 문제에 대해 하나하나 채워보았다. 채우게 되면 위와 같은 모양이 되는데, 여기에는 규칙이 있다. 2x3의 타일을 채우는 방법을 전부 나열하게 되면, 아래와 모양이 되는데 이것은 1번에 2개의 타일을 더하는 방법과 2번에 1개의 타일을 더하는 방법으로 표현 할 수 있다. 여기서 첫번째 세번째 모양이 같아서 이 것을 제외한 3가지 방법이 2x3을 채우는 방법의 개수가 된다. 그럼 이제 규칙성을 눈치챘을까? 나는 이때도 몰라서 한 번 더 채워보았다. 2x4를 채우는 방법을 전부 나열하게 되면, 아래와 ..

[백준] 10773번 제로 Java

오늘도 머리를 달구기 위해 쉬운 문제를 골라보았다. 문제는 즉, 0이 아닌 수는 저장을 하고 0이 나오면 젤 최근에 저장한 수를 없애면 되는 것! 따라서 이 문제는 Stack 문제 였다! 두둔- 처음에 문제만 읽었을 때, 이해가 안가서 아래 설명을 보면서 이해를 했다.. 문제를 이해하는 방법도 좀 익혀야 할텐데.. 문제만 봐선 너무 어려워!! Java에서는 Stack을 제공해 준다고 하는데, Stack을 사용한 적은 없어서 Vector 를 이용해서 문제를 풀어보았다. 나의 Vector를 이용한 소스는 아래에 있다. 소스에서 remove할 때 인덱스를 size - 1 해준 이유는 size : 1 2 3 4 5 6 index : 0 1 2 3 4 5 이기 때문이다! 그 다음에 구글링으로 Stack에 대해 찾..

728x90
반응형