Algorithm/LeetCode
[LeetCode] - Climbing Stairs
Memoization문제 sudo code n개의 계단을 올라간다 한걸음에 1 또는 2개 계단을 올라갈 수 있다 1
[LeetCode] Convert Binary Number in a Linked List to Integer
sudo code Singly- linked list 인 ListNode가 주어지고 head가 주어진다. 예제 1번은 1 -> 0 -> 1 이번 head 즉 LintNode의 val = 1 head.next.val = 0 head.next.next.val = 1 여기서 요구하는 것은 2진수 형식으로 되어있는 linked list를 2진수 방식으로 자리수를 더해 정수형의 값으로 return하는 것 어떻게 할 것인가. testcase를 1,1,0,0 1*2^3 + 1*2^2 + 0*2^1 + 0*2^0 answer = head.val -> 0,0,1,1인 상황이라면? 1,1,0,0 if(head.next != null) ->answer = answer * 2 0 ->0...0...0 -> X 1 -> 2....
[LeetCode] - Merge Two Sorted Lists
두 LinkedList ListNode를 합치는 문제 sudo code null 이면 다른 node return 두 node 비교하고 값이 작은 수를 넣고 큰 수는 next로 넣으면 되지 않을까 근데 재귀함수로 n1.val compare n2.val answer(작은거) 가리킨다 큰거 -> answer.next(큰거) 풀이 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = ..
[LeetCode] Majority Element
크기가 n 인 배열 nums가 주어지면 과반수의 element를 반환합니다. 과반수의 element ⌊n / 2⌋ 번 이상 나타나는 요소입니다. 과반수의 element 항상 배열에 존재한다고 가정 할 수 있습니다. Example 1: Input: nums = [3,2,3] Output: 3 Example 2: Input: nums = [2,2,1,1,1,2,2] Output: 2 Constraints: n == nums.length 1 [2,4],[1,3] -> map... hashmap 저번에 했던 getOrDefault로 key값에 더하는 식으로 정렬하고 거기서 가장 큰 value를 뽑아서 key를 리턴하는 식으로 가봅시다 1차시도 (Collections.max써가지고 getKey하면 구해진다는데 아..
HashMap Sorting in java
www.baeldung.com/java-hashmap-sort Sort a HashMap in Java | Baeldung Learn how to sort HashMap entries by their key or value www.baeldung.com
[LeetCode] Lemonade Change
레모네이드 가판대에서 레모네이드를 5딸라에 팝니다. 고객은 순서대로 레모네이드를 사갑니다. 각 고객은 레모네이드를 하나씩만 사갈 수 있습니다. 고객은 5딸라 10딸라 20딸라를 지불합니다. 주인은 거스름돈을 가지고 있지 않은 상태로 판매합니다. 만약 거스름돈을 돌려줄 수 없다면 false, 마지막 고객까지 거스름돈을 돌려줬다면 true 조건 0 5$-- 10$-- 20$ 들어왔을때 5$ 3장이상 보유시 -> 5$갯수 = 5$ - 3 3차시도 class Solution { public boolean lemonadeChange(int[] bills) { int[] change = {0, 0}; for(int i = 0; i < bills.length; i++) { if(bills[i] == 5) { chan..