본문 바로가기

자바 14

[LeetCode] 자바, 20. Valid Parentheses 문제는 '들어온 괄호들이 짝을 제대로 이뤘느냐를 확인해줘라' 입니다. 첫번째. class Solution { public boolean isValid(String s) { if (s.length() == 0) return true; if (s.length() % 2 != 0) return false; Stack stack = new Stack(); String[] arrayStr = s.split(""); for (int i = 0; i < arrayStr.length; i++) { switch (arrayStr[i]) { case "(": { stack.push("("); break; } case "[": { stack.push("["); break; } case "{": { stack.push("{".. 2020. 8. 10.
[LeetCode] 자바 53. Maximum Subarray 문제는 '들어온 배열의 Sub배열의 합이 가장 큰 경우의 수의 합을 구해라' 입니다. 해결 방안으로는 divide & conquer로 하면 좋겠다 라고 하는데, 네 생각이 안납니다. 그래서 일단 풀어보겠습니다. 첫번째. class Solution { public int maxSubArray(int[] nums) { int sum = nums[0]; for(int i = 0; i sum) sum = temp; } } return sum; } } 아이디어는 '이중 for문을 돌면서, 가장 큰 조합을 계속 찾아가는 것입니다.' .. 2020. 8. 10.
[LeetCode] 자바 448. Find All Numbers Disappeared in an Array 문제는 '배열에 없는 숫자 찾기, 없는 숫자란 배열 크기의 정수중에 없는 숫자를 뜻함' 첫번째. class Solution { public List findDisappearedNumbers(int[] nums) { Arrays.sort(nums); List result = new ArrayList(); for(int i =0; i< nums.length; i++){ if(nums[i] != i+1) { if(Arrays.binarySearch(nums, i+1) 2020. 8. 10.
[LeetCode] 자바 169. Majority Element 문제는 '주어진 배열에서 출현빈도가 절반 이상인 값을 찾아라' 입니다. 첫번째. class Solution { public int majorityElement(int[] nums) { int majorityElementNum = nums.length; HashMap hash_table = new HashMap(); //전체 케이스 세고 for (int i : nums) { hash_table.put(i, hash_table.getOrDefault(i, 0) + 1); } int maxNum = 0; int resultIndex = 0; //가장 많이 나온거로 for (int i : nums) { if (hash_table.get(i) > maxNum) { maxNum = hash_table.get(i);.. 2020. 8. 9.