
연결리스트의 역을 구하는 문제이다. ListNode를 매개변수로 받는 reverseList메서드의 틀이 주어진다. Problem : class Solution { public ListNode reverseList(ListNode head) { } } 이 때, ListNode의 정의가 다음과 같이 주어진다. public class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val; this.next = next; } } 풀이는 reverseList메서드에 작성하면 된다. Solution : 재귀함수를 이용해 연결리..

각 자릿수가 하나의 노드로 이루어진 두 리스트노드의 합을 리스트노드로 반환하는 문제이다. 두 ListNode를 매개변수로 받는 addTwoNumbers메서드의 틀이 주어진다. Problem : class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { } } 이 때, ListNode의 정의가 다음과 같이 주어진다. public class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val; this.next = next; } } 풀이는 ad..

주어진 두 문자열 s와 t가 애너그램 관계인지 여부를 반환하는 문제이다. String s와 t를 매개변수로 받는 isAnagram메서드의 틀이 주어진다. Problem : class Solution { public boolean isAnagram(String s, String t) { } } 풀이는 isAnagram 메서드에 작성하면 된다. Solution : 1. 두 문자열의 길이가 다르면 애너그램 관계일 수 없으므로, false를 사전 반환한다. 2. 알파벳 길이(26)의 숫자 배열을 선언하고, 첫번째 문자열 s의 각 알파벳을 Ascii 코드표를 활용하여 배열에 카운팅한다. ('a'는 Ascii코드 상 97에 해당하지만, 메모리 사용 감소를 위해 - 'a'를 하게 되면 0번 인덱스에 위치시킬 수 있다..

반복없이 가장 긴 문자열의 길이를리스트로 반환하는 문제이다. String을 매개변수로 받는 lengthOfLongestSubstring메서드의 틀이 주어진다. Problem : public class LongestSubstring { public int lengthOfLongestSubstring(String s) { } } 풀이는 lengthOfLongestSubstring 메서드에 작성하면 된다. Solution 1: HashSet을 사용하는 방법 1. 왼쪽/오른쪽 포인터, 최대 길이 값을 담을 int 변수를 초기화 한다. 고유문자를 담을 Set 변수을 초기화한다. 2. 오른쪽 포인터가 문자열 끝에 닿을 때까지 반복할 때, 1) 오른쪽 포인터의 문자가 고유문자Set에 없으면, 추가하고 포인터를 하나 ..