LeetCode 26 Remove Duplicates from Sorted Array 풀러가기오름차순 정렬된 nums가 있다.여기서 중복된 숫자들을 삭제하고, 중복제거하고 남은 숫자의 갯수, k를 리턴하면 된다.예를 들어 {1,1,2}라는 배열을 주면 {1,2,\_}
LeetCode 27 Remove Element 풀러가기int 배열 nums에서 val의 값 삭제한다.int 배열에서 val이 아닌 갯수, k를 리턴하면 된다.nums의 0번 인덱스부터 k-1번 까지는 nums에서 val을 삭제한 배열을 저장한다. nums의 크기나 k
LeetCode 88 Merge Sorted Array 풀러가기오름차순으로 정렬된 int배열이 두개 주어진다. (nums1, nums2)nums1에는 m개의 숫자와 n개의 0이 있고, nums2 에는 n개의 숫자가 있다.nums1과 nums2배열을 병합하여 오름차순으로
LeetCode 80 Remove Duplicates from Sorted Array II 풀러가기숫자가 오름차순으로 정렬 된 nums 배열이 있다.숫자가 최대 2번 중복 허용이 가능하도록 변경하려고 한다.2번 중복허용을 위해 처음에는 숫자의 갯수를 세어서, 2가 되면
LeetCode 169 Majority Element 풀러가기숫자가 들어있는 크기 n의 배열이 주어진다.배열에서 majority 요소를 찾으면 되는데, majority요소란 배열에서 가장 많이 등장하는 요소로, ⌊n / 2⌋ 번 보다 많이 들어가 있는 요소이다.처음에는
LeetCode 189 Rotate Array 풀러가기int 배열 nums가 주어진다.nums가 k번 만큼 오른쪽으로 이동하도록 한다.오른쪽으로 한번 이동하는 rotate라는 함수를 짜서 k번 호출하려 했다.코드이 경우 최악의 경우( nums.length가 10^5,
LeetCode 121 Best Time to Buy and Sell Stock 풀러가기prices라는 int 배열이 주어진다.각 배열은 날짜를 의미하고, 물건을 사는 날짜, 파는 날짜 하나를 골랐을 때 최고의 이익을 계산하여 리턴한다.예를 들어, \[7, 1, 5,
LeetCode 55 Jump Game 풀러가기Queue를 활용한 BFS 방식을 활용했다.가능한 모든 index를 Queue에 넣으면서 배열의 끝에 도달한다면 true를 반환하도록 코드를 구현했다.결과 : 시간 초과코드시간 초과를 줄이기 위해 Queue에 index를
LeetCode 122 Best Time to Buy and Sell Stock II 풀러가기prices라는 int 배열이 주어진다.각 배열은 날짜를 의미하고, 물건을 사는 날짜, 파는 날짜 각각 하나를 여러번에 걸쳐 골랐을 때 최고의 이익을 계산하여 리턴한다.예를 들
LeetCode 125 Valid Palindrome 풀러가기 문제 문자열이 주어졌을 때 palindrome인지 확인하는 함수를 구해라. palindrome이란 문자열에 있는 문자 중 특수문자 제외, 공백 제외, 모든 영어를 소문자로 변경했을 때 앞에서 읽
LeetCode 167 Two Sum II - Input Array Is Sorted 풀러가기오름차순으로 정렬된 int 배열이 주어졌을 때 두개의 숫자를 더해서 target이 맞는 index를 각각 +1 한 int 배열을 반환한다.예를 들어 numbers = \[2,
LeetCode 209 Minimum Size Subarray Sum 풀러가기int 배열 nums와 int target 이 주어진다.nums의 연속된 숫자의 합이 target보다 크거나 같을 때 연속된 숫자가 가장 짧은 길이를 구해라.예를 들어, nums =\[2, 3
LeetCode 141 Linked List Cycle 풀러가기주어지는 ListNode에 사이틀 유무를 판단하는 함수를 짜는 문제였다.ListNode는 자신의 숫자 value와 다음 노드 next를 가지고 있다.같은 노드를 다시 방문하지 않으면 되니까 set을 사용하여
LeetCode 2 Add Two Numbers 풀러가기두 개의 ListNode가 주어진다. ListNode는 이진수를 의미한다.value는 각 자리의 이진수, next는 다음 노드(다음 자릿수의 이진수)이다.두 개의 ListNode의 합을 ListNode 형태로 반환
정렬된 배열 nums과 target이 주어진다. nums 배열에서 target이 있다면 그 index를 반환하고, 없다면 target이 정렬된 nums의 순서에 맞게 어디에 들어가면 되는지 index를 반환하면 되었다.정렬된 배열을 주었으니, 이분탐색으로 풀면 될 것
LeetCode 155 Min Stack 풀러가기MinStack class를 구현하면 된다.Minstack 기본 생성자 : stack 객체를 초기화한다.void push(int val) : val 을 stack에 추가한다.void pop() : stack에서 top 요
LeetCode 150 Evaluate Reverse Polish Notation 풀러가기String 배열 tokens 가 주어진다.tokens에 있는 배열은 역폴란드 기업으로 표현된 산술표현식이다.역폴란드 기업으로 표현된 산술표현식이란\["2","1","+","3",
LeetCode 1 Two Sum 풀러가기가장 빠르게 생각난 방법은 이중 포문을 써서 모든 경우의 수를 조사하는 것이였다. 대신 이 방법은 시간복잡도가 O(N^2) 이였다.코드결과 : 성공RuntimeMemory역시나 시간이 너무 오래걸리는 방법이였다. 시간을 줄이기
LeetCode 219 Contains Duplicate II 풀러가기배열 nums와 숫자 k가 주어진다.다음 조건을 만족하는 i, j 가 있다면 true를, 없다면 false를 반환 하세요.numsi==numsjabs(i-j) <= k (abs는 절댓값 함수이다
LeetCode 383 Ransom Note 풀러가기문자열이 magazine, ransomNote 두개 주어진다.magazine으로 ransomNote 문자열을 만들 수 있으면 true, 없으면 false를 반한하는 함수를 구현해라.가장 간단히 생각해낸 방법은 maga
LeetCode 242 Valid Anagram 풀러가기두 문자열이 주어진다.두 문자열이 애너그램인지 판단하는 함수를 짜면 된다.애너그램은 각 문자열에서 문자들의 숫자를 바꿨을 때 같으면 애너그램 문자열이다.예를 들어 "abcde" 와 "edcba"는 애너그램이다.
LeetCode 148 Sort List 풀러가기linked list의 head가 주어지면, 이 linkedlist를 sort하여 return 하면 된다. sort 방법 중 시간복잡도 O(NlogN)인, merge sort로 구현하려 했다. merge sort는 lis
LeetCode 162 Find Peak Element 풀러가기문제를 보고 peek 지점이 나올때 까지 while문을 돌리는 코드를 짜려했는데, 초기 시작점이 아래로 내려가는지, 올라가는지 판별할 방법이 생각나지 않았다.그래서 그냥 모든 index를 돌며, 이전값과 이
LeetCode 530 Minimum Absolute Difference in BSTBST(Binary Search Tree) 가 주어진다.두 노드 간격 중 가장 최소 간격을 구해라.BST 니까 왼쪽 - 중간 - 오른쪽 순으로 값이 증가한다.DFS 함수를 만들어, 가장
LeetCode 230 Kth Smallest Element in a BST 풀러가기BST(Binary Search Tree) 와 k 가 주어진다.BST 에서 k번째로 작은 수를 구해라.BST 이기에 dfs를 해서 왼쪽 부터 탐색하면 가장 작은 값을 알 수 있다. 그래
LeetCode 215 Kth Largest Element in an Array 풀러가기int 배열 nums 와 숫자 k 가 주어진다.nums를 정렬했을 때 k 번째로 큰 숫자를 반환해라.k번째로 큰 숫자는 고유한 k 번째로 큰 숫자를 의미하는 것이 아니다.nums를
LeetCode 133 Clone Graph 풀러가기 문제 Node 클래스로 이루어진 그래프가 주어진다. 이를 똑같이 clone 하는 함수를 작성해라.
LeetCode 909 Snakes and Ladders 풀러가기 문제 이 문제는 이해하는데 한참이나 걸렸다. 영어로 되어 있기도 하고, 문제에 주어진 조건들이 꽤 복잡했다. 문제는 다음과 같다. 위의 그림 처럼 보드는 N*N으로 주어진다. N*N 보드에서