본문 바로가기

Portpolio220

Leetcode 225번 큐를 이용한 스택 구현 import java.util.LinkedList; import java.util.Queue; public class P23 { private Queue queue1; private Queue queue2; public P23() { queue1 = new LinkedList(); queue2 = new LinkedList(); } public void push(int x) { queue1.offer(x); } public int pop() { while (queue1.size() > 1) { queue2.offer(queue1.poll()); } int topElement = queue1.poll(); swapQueues(); return topElement; } public int top() { wh.. 2023. 12. 31.
Leetcode 21번 두 정렬 리스트의 병합 public class solution extends ListNode { solution(int val) { super(val); } public static ListNode mergeTwoLists(ListNode list1, ListNode list2) { // 기저 사례: 둘 중 하나가 비어 있으면 다른 리스트를 반환 if (list1 == null) { return list2; } if (list2 == null) { return list1; } // 현재 노드 값 비교 if (list1.val < list2.val) { // list1의 값이 더 작은 경우 // list1의 다음 노드와 list2를 재귀적으로 병합 list1.next = mergeTwoLists(list1.next, list2).. 2023. 12. 31.
Leetcode 234번 팰린드롬 연결 리스트 import java.util.Deque; import java.util.LinkedList; public class P13 extends ListNode{ P13(int val) { super(val); } public static boolean isPalindrome(ListNode head) { // 데크 선언 Deque deque = new LinkedList(); // 연결 리스트의 값을 데크에 저장 ListNode current = head; while (current != null) { deque.addLast(current.val); current = current.next; } // 양쪽에서 값을 하나씩 비교 while (deque.size() > 1) { if (!deque.pollFi.. 2023. 12. 31.
Leetcode 121번 주식을 사고팔기 가장 좋은 시점 import java.util.Arrays; public class P12 { public static void main(String args[]) { int[] prices1 = {7,1,5,3,6,4}; int profit1 = maxProfit(prices1); System.out.println(profit1); } public static int maxProfit(int[] prices) { if (prices == null || prices.length 2023. 12. 31.
Leetcode 561번 배열 파티션 I import java.util.Arrays; public class P10 { public static void main(String[] args) { int[] nums1 = {1, 4, 3, 2}; int result1 = arrayPairSum(nums1); System.out.println(result1); int[] nums2 = {6, 2, 6, 5, 1, 2}; int result2 = arrayPairSum(nums2); System.out.println(result2); } public static int arrayPairSum(int[] nums) { Arrays.sort(nums); int sum = 0; for(int i = 0; i 2023. 12. 31.
Leetcode 1번 두 수의 합 import java.util.Arrays; import java.util.HashMap; import java.util.Map; public class P7 { public static void main(String args[]) { int[] nums = {2, 7, 11, 15}; //int[] 배열 int target = 9; //합으로 나와야 하는 수 System.out.println(Arrays.toString(twoSum(nums, target))); } //brute force, hashmap을 이용하기 public static int[] twoSum(int[] nums, int target) { Map map = new HashMap(); for(int i = 0; i < nums.len.. 2023. 12. 31.
Leetcode 344번 문자열 뒤집기 import java.util.Arrays; public class P2 { public static void main(String args[]) { P2 p2Instance = new P2(); char[] input = {'h', 'e', 'l', 'l', 'o'}; // reverseString 메소드 호출 p2Instance.reverseString(input); // 뒤집힌 문자열 출력 System.out.println("Reversed String: " + Arrays.toString(input)); } public void reverseString(char[] s) { for (int i = 0, j = s.length - 1; i < j; i++, j--) { char tmp = s[i];.. 2023. 12. 31.
Leetcode 125번 유효한 팰린드롬 - 대괄호와 캐럿 기호, 범위를 나타내는 하이픈 기호를 통해 정규 표현식의 개념을 사용함 public class P1 { public static void main(String args[]) { String input = "AMAIIAMA"; P1 obj = new P1(); boolean isPalindrome = obj.isPalindrome(input); System.out.println(isPalindrome); } public boolean isPalindrome(String s) { String sLower = s.toLowerCase(); String sRemoved = sLower.replaceAll("[^a-zA-Z0-9]", ""); //정규표현식 String revStr = ""; /.. 2023. 12. 31.
자바 알고리즘 인터뷰 09. 스택, 큐 [ch9/P23] L225. 큐를 이용한 스택 구현 import java.util.LinkedList; import java.util.Queue; public class P23 { private Queue queue1; private Queue queue2; public P23() { queue1 = new LinkedList(); queue2 = new LinkedList(); } public void push(int x) { queue1.offer(x); } public int pop() { while (queue1.size() > 1) { queue2.offer(queue1.poll()); } int topElement = queue1.poll(); swapQueues(); return topEle.. 2023. 12. 31.
자바 알고리즘 인터뷰 08. 연결 리스트 //공통적으로 쓰이는 클래스 class ListNode { int val; ListNode next; ListNode(int val) { this.val = val; } public static void printList(ListNode head) { ListNode current = head; while (current != null) { System.out.print(current.val + "-> "); current = current.next; } System.out.print("\n"); } } [ch8/P13] L234. 팰린드롬 연결 리스트 import java.util.Deque; import java.util.LinkedList; public class P13 extends ListNod.. 2023. 12. 31.