728x90
반응형

ALGORITHM 33

[LeetCode][Java] 101. Symmetric Tree

약간 세개를 풀면서 이제 재귀함수 에 대한 감을 잡아가고 있다. 간단한거에서 생각을 잘 못해서 너무 많이 틀려버렸지 뭐얌? 담에 더 잘할거니까 !! 화이팅.. 문제 대칭인지 아닌지 찾아내는 문제. 위 사진 처럼 반을 나누었을 때 대칭이 되면 됨. 딱 보자마자 왼쪽 오른쪽 나눠서 재귀함수로 풀면 되겠다! 라고 생각은 들었다.! 하지만 이제 그 뒤에 푸는 방법이 따라줘야되는데,.. 큼.. 데이터 데이터는 요러케! 왼쪽 팔이랑 오른쪽 팔이 있음! /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) ..

[LeetCode][Java] 100. Same Tree

다시 DFS 부터 차근차근..하려고 했는데 이런 자바로 데이터구조가 처음이잖아? Single linked list 이런것부터 다시해야될듯.. 문제보고 너무 당황했음 https://leetcode.com/problems/same-tree/ Same Tree - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 몸풀기 너낌으로 하려고 일부러 EASY 를 선택했는데, 왜 EASY 하지 않은건가요 선생님.. 전교수님 보고싶다.. 문제 주어진 node tree 두 개를 비교..

[백준] 1655번 가운데를 말해요

안녕하세요~! 오늘은~ 1655번! 이 문제를 풀면서도 나는 얼마나 멍청한가를 깨달았던.. 분명히 대학교에서 배운 것인데.. 왜 기억이 안나는 것인가 ㅠ_ㅠ 난 정말 멍청이야! 이래서 공부는 꾸준히 해야하나보다.. 이제 진짜 내 목표량은 채워야지! 유튜브 설명 첨부드립니다! youtu.be/DUBAgZkB0jM 일단 오늘의 문제와 입력, 출력 값이다. 근데 이것이 중요한게 아니다.... 바로바로 여기서 제일 중요한 것은!!!! 요 시간제한이다! 문제만 보고 생각이 든것은.. 입력을 받고 > array에 추가해서 > sort를 하면 되지 않을까였다. 그래서 한 첫번째 도전! 사실 세번째? 도전이다. 처음에 array로 해봤는데 메모리초과?가 발생해서, 그 다음은 vector로 그 다음은 boolean 값을..

[백준] 12865번 평범한 배낭

오랜만에 새해 다짐으로 했던 알고리즘 문제를 풀었다. 근데 첫 문제부터 난관.. 시작부터 나에게 고난을 준 문제는 아래에 있다. 이 문제를 보고 나는 DP라는 것을 알았지만.. 메모이제이션/냅색 방법이라고는 생각도 못했다.. 그래서 내가 처음에 도전한 방법은 한 무게당 n * n-1 * n-2 ... 개를 하나하나 비교해보는 방식이었다. 근데 이 방법으로 짜는 것도 java로 하려니 너무너무 어려웠다. C/C++ 에서는 지역 변수가 따로 있어서 가능 할 것 같았는데, 여기서는 지역도 전역처럼 되어 버려서.. 너무 어려워@_@ 내가 생각해낸 코드이다. 근데 이 코드가 안되서.. 조금 더 수정하면 될 것 같아서 아직 가지고 있는 중이다.. 수정해봐야지~! 그 후에 고민해보다가 구글링을 통해 알고리즘을 찾았다..

[백준] 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에 대해 찾..

[백준] 9625번 BABBA Java

이제 입출력 마스터를 했으니 문제를 풀기 위해 "최근 풀린 문제" 에서 문제를 풀었다. 뭔가 랜덤으로 돌리면 어려운 문제가 나와서.. 최근에 푼 사람이 있으면 그래도 조금이나마 풀 수 있을 것 같아서 헤헤.. 근데 너무 어려웠다.. ㅠ_ㅠ 문제는 아래와 같다. 즉 화면에 떠있는 문자가 A -> B, B->BA로 바뀐다는 말과 같다. 그래서 나는 쭉 나열을 해봤다. 입력 횟수 0 1 2 3 4 5 6 출력 문자 A B BA BAB BABBA BABBAAAB BABBABABBABBA A의 개수 1 0 1 1 2 3 5 B의 개수 0 1 1 2 3 5 8 긴 고민 끝에... 규칙성을 찾았다. 입력이 1~45니까 0은 고려를 해주지 않아도 되기때문에 1부터의 규칙석을 찾으면 된다. 그래서 내가 내린 규칙은 이전..

[백준] 1000번 A+B Java

자바로 백준 문제 처음 풀어서.. 입출력부터 찾으면서 한 기초 문제! 이제 자바로 백준 정복해나가야지 +_+ 문제는 두 정수를 입력 받은 후 더한 결과를 출력하는 문제이다. 완전 EASY 한데.. 자바 너무 어려워 ㅠ_ㅠ 백준에서의 문제는 아래와 같다. 나의 코드는 맨 처음에 package를 맨 위에 적어 두어서 계속 컴파일에러가 발생했었다. Java로 처음 해보는 나로서는 소스는 같은데 계속 안되서 너무 답답했는데, 결국 한 5번?의 도전 끝에 알게되고.. Package에서 빼서 소스를 다시 만들었다. 자바로 백준은 class name : Main으로! package는 제외하고 진행해야한다! 앞으로 열심히하자! 끄읐

[백준 8741번] 2진수의 합

너무너무 화난다..문제를 봤을때, 엄청 쉽고 간단해보여서 종이에 안적고 그냥 풀었더니 엄청 막혀서 틀리고 틀렸다. #문제 #풀이 멍청한 방법먼저 내가 하고싶었던 쓰레기 방법은 [1] 숫자를 입력받고[2] 입력받은 숫자를 2의 배수로 만들어준다.[3] 2의 배수 전까지 숫자를 모두 더해준다.[4] 더해준 숫자에 관한 것을 2진수로 바꿔준다. 이것이였다.하지만 메모리초과, 런타임에러 등의 모든 에러를 경험해서 틀린방법임을 깨닫고, 경우의 수를 적어보았다.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include#include using namespace std; stack stackfo..

728x90
반응형