# Two pointers
LeetCode - 905. Sort Array By Parity
문제가 요구하는 것은 간단하다.짝수는 앞으로, 홀수는 뒤로 정렬하는 것이다.위 조건만 만족하면 순서는 상관없다.Two Pointers 방식으로 접근해서 해결했다.1\. i포인터는 앞에서부터, j포인터는 뒤에서부터 접근한다.2\. nums\[i]가 짝수일 경우, 옮길 필
[Leetcode] 763. Partition Labels
문제 https://leetcode.com/problems/partition-labels/description/?envType=study-plan-v2&envId=top-100-liked 풀이 two pointer를 이용해서 last index를 갱신하며 푼 풀이는
[4코3파] #294. Leetcode Two Pointers
[4코3파] 1명의 스위프트 개발자가 도망가고 4명의 코틀린 개발자, 3명의 파이썬 개발자의 코딩 테스트 스터디 : 4코3파 START : [3코1파] 2023.01.04~ (294일차) [4코1파] 2023.01.13~ (286일차) [4코3파] 2023.10.0

Ways to Split Array Into Three Subarrays
Intuition left, mid, right의 범위를 지정해주는 것이 우선적으로 필요하다. 한번에 지정하기는 힘들기 때문에, left를 먼저 지정하고 나머지 mid와 right를 지정하는 느낌으로 생각했다. Approach >본격적으로 시작하기에 앞서, 그때그때 각 범위에 따른 합을 구해줘야하는 경우가 있으므로, 이 합을 $O(1)$에 구하기 위해 누...
LeetCode - 344. Reverse String
배열을 뒤집는 문제이다. 다만 한 가지 조건이 있는데 In-place 알고리즘 (제자리 알고리즘) 방식으로 풀어야한다는 것이다.제자리 알고리즘은 다른 문제를 풀 때 학습한 적이 있는데 배열, 스택 등 추가적인 자료구조를 사용하지 않고 입력값을 변환시키는 방식을 말한다.

Maximum Score of a Good Subarray
Intuition 이 문제를 한 줄로 요약하면 (길이)*(최솟값)을 최대로 만드는 것이다. 길이를 확정시킨다음 최솟값을 결정할 수도 있고, 최솟값을 결정한 다음 길이를 최대화시킬 수도 있다. 나는 전자의 경우 $O(N)$, 후자의 경우 그보다는 효율적일 것이라고 판단해서 후자의 방식을 택했다. 물론 막상 코드를 짜고나니 후자도 $O(N)$이 소요됐다. A...
LeetCode - 2108. Find First Palindromic String in the Array
문자열을 요소로 갖고있는 배열에서 palindromic한 첫 번째 요소를 찾아서 리턴하는 문제이다.여기서 palindromic은 똑바로 읽어도 거꾸로 읽어도 같은 단어이다.1\. for문을 이용해서 각각의 문자열에 접근한다.2\. 해당 문자열이 palindromic인지
LeetCode - 1768. Merge Strings Alternately
Two Pointers로 접근해서 풀 수도 있겠지만 그렇게 풀지 않았다.필자가 해결한 방법은 먼저 두 단어 중 길이가 긴 단어의 길이를 구한다.그리고 for문을 그 길이만큼 실행시키는데 번갈아가면서 두 단어의 글자 하나하나를 각각 추출해서 결과물에 합친다.길이가 짧은
LeetCode - 2000. Reverse Prefix of Word
먼저 indexOf 메소드를 이용해서 문자열 word에서 ch의 인덱스를 구한다.그리고 0부터 ch까지의 문자열을 배열로 변환하고 reverse 메소드를 사용해서 뒤집는다.ch이후의 문자열은 그대로 유지한다.두 문자열을 합쳐서 리턴한다.
LeetCode - 2697. Lexicographically Smallest Palindrome
Two Pointers를 이용하여 쉽게 해결하였다.먼저 변경이 가능하다록 하기 위하여 문자열 s를 배열로 변환하였다.그리고 두 포인터 i와 j를 설정하였다. i는 첫 번째 인덱스부터 접근하는 포인터이고 j는 마지막 인덱스부터 거꾸로 접근하는 포인터이다.charCodeA
LeetCode - 832. Flipping an Image
상당히 간단한 문제였다.2차원 배열에서 각각의 내부 배열을 뒤집고 내부 배열의 요소들을 반전시키면 되는 문제였다.map 메소드를 이용해서 각각의 내부 배열을 reverse 메소드로 뒤집은 후 다시 map 메소드를 이용해서 요소들을 반전시키면 된다.
Remove Nth Node From End of List
Intuition 최대로 나올 수 있는 Number of Nodes가 30개이기 때문에 연결 리스트를 순회하면서 각각의 Node를 포인터 배열에 저장해놓는다면, 원하는 위치의 Node를 지우는 작업은 $O(1)$에 수행할 수 있을 것이라 생각했다. Approach >연
LeetCode - 2367. Number of Arithmetic Triplets
처음에는 이중 for문으로 접근했는데 단일 for문으로도 해결이 가능했다.엄격한 오름차순 배열이기때문에 특정 요소에 +diff과 +2diff한 요소가 있다면 count를 증가시키면된다.

LeetCode - 2824. Count Pairs Whose Sum is Less than Target
이중 for문을 이용해서 해결했다.0 <= i < j < nnums\[i] + nums\[j] < target위의 두 조건을 만족해야한다.첫 번째 for문을 이용해 요소에 접근한다.그리고 두 번째 for문의 초기식(let j=i+1)를 통해 첫 번

[LeetCode] Middle of the Linked List
https://leetcode.com/problems/palindrome-number/solutions/ 📌 Description >Given the head of a singly linked list, return the middle node of the link
[LeetCode/Top Interview 150] [Two Pointers] 167. Two Sum II - Input Array Is Sorted
문제 링크: https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/?envType=study-plan-v2&envId=top-interview-150 사용 언어: Java(OpenJDK 17. Java 8)

[LeetCode] Partition List
https://leetcode.com/problems/partition-list/Given the head of a linked list and a value x, partition it such that all nodes less than x come bef

LeetCode - 28. Find the Index of the First Occurrence in a String
두 문자열 needle과 haystack이 주어질때, haystack에서 needle이 처음으로 등장하는 인덱스를 리턴하라. 등장하지 않으면 -1를 리턴하라.Input: haystack = "sadbutsad", needle = "sad"Output: 0Explanat

LeetCode - 26. Remove Duplicates from Sorted Array
내림차순이 아닌 정수 배열 nums가 주어질때, 제자리에서 동일한 요소를 제거하라. 각각의 유니크한 요소들은 한 번만 등장해야 한다. 요소들의 상대적인 순서는 똑같이 유지되어야 한다. 그리고 nums의 유니크한 요소들의 수를 리턴하라.nums의 유니크한 요소들의 수가

[LeetCode] Remove Nth Node From End of List
https://leetcode.com/problems/remove-nth-node-from-end-of-list/ 📌 Description >Given the head of a linked list, remove the nth node from the end of