본문 바로가기

분류 전체보기657

[GITHUB] 로컬에서 token 인증 remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. 2021년 8월 13일부터 암호 인증 지원이 중단되었다. 대신 accessToken을 발급받아야 한다. 깃허브 사이트에서 우측 상단 Settings 좌측하단에 Developer settings Persional access token > Generate new token... 2022. 4. 14.
[Leetcode] 731. My Calendar II 문제 : https://leetcode.com/problems/my-calendar-ii/ 부분합 문제. 정렬된 map을 만들고 map[start] + 1, map[end] -1을 갱신한다. ex) [[10, 20], [50, 60]] i 10 20 50 60 map[i] 1 -1 1 -1 부분합 1 0 1 0 map을 처음부터 탐색하면서 map[i]의 부분합을 구한다. 합을 구하면서 만약 3 이상인 경우가 있으면 map[start], map[end]를 이전 값으로 갱신한뒤 false를 반환한다. 탐색이 끝날때까지 3이상인 경우가 없으면 추가가 가능한 경우이므로 true를 반환한다. 소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/leetcode/med.. 2022. 4. 12.
[Leetcode] 703. Kth Largest Element in a Stream 문제 : https://leetcode.com/problems/kth-largest-element-in-a-stream/ k, nums 배열을 초기값으로 입력받고, 정수값 val을 nums 배열에 추가하는 함수 add를 제공할 때, k번째로 큰 원소를 찾기위한 클래스를 설계해라. 최대힙, 최소힙을 만들고 최소 힙의 크기는 k로 유지시킨다. 최소힙에는 k개의 큰 수들이 들어갈 것이고 이외의 수들은 모두 최대힙에 넣는다. nums = [1,2,7,4,3], k = 2 로 예를 들어보자. 1, 2 원소는 min heap에 용량이 아직 남았으므로 모두 min heap 에 넣어준다. 3번째 원소 7을 넣을때는 min heap이 모두 찼으므로 min heap의 top에 있는 수와 7을 비교한다. min heap의 .. 2022. 4. 8.
[Leetcode] 31. Next Permutation 문제 : https://leetcode.com/problems/next-permutation/ 정수 배열이 있을 때 해당 배열의 요소들의 순서를 바꿔서 사전순 다음 시퀀스로 만들어라. 만일 불가능하다면 사전순 가장 작은 순서로 재배열해야한다. 예를 들어, arr = [2, 1, 3]이라면 사전순 다음 순서인 [2, 3, 1]로 재배열 시켜야한다. 전부 내림차순으로 정렬된 순열의 다음 사전순 배열은 이들을 역순한 것과 같다. 예를 들어, arr = [3, 2, 1]의 경우 다음 사전순 배열은 [1, 2, 3]이다. 내림차순된 배열의 다음 사전순 배열을 구하는 방법을 알았으니 내림차순 배열의 가장 앞에 있는 숫자를 해당 숫자보다 큰 수들보다 가장 작은 수로 바꾸면 다음 사전순 배열을 구할 수 있다. 말이 좀.. 2022. 4. 3.
[Leetcode] 287. Find the Duplicate Number 문제 : https://leetcode.com/problems/find-the-duplicate-number/ [1, n] 범위의 정수들로 이루어진 n+1 크기의 배열 nums가 주어진다. 이 배열엔 중복된 숫자가 하나만 존재파는데 중복된 숫자를 구해라. 단, nums 배열은 수정하지 않아야 하고 상수 크기의 추가 공간만 사용해야 한다. Floyd's cycle detection 으로 풀었다. nums 배열은 [1, n] 범위의 정수들로 이루어지고 중복된 숫자는 하나 밖에 없다는 조건을 이용해보자. index -> nums[index] 로 방향이 있는 간선을 연결하면 중복된 숫자가 하나가 존재하므로 순환이 발생하게 된다. 이 순환의 시작점이 중복된 숫자가 될 것이다. 순환의 시작점이 되는 지점(let, .. 2022. 4. 1.
[Leetcode] 410. Split Array Largest Sum 문제 : https://leetcode.com/problems/split-array-largest-sum/ 음이 아닌 정수로 이루어진 nums 배열과 양수 m 이 주어졌을 때, nums 배열을 비어있지 않은 m개의 연속 하위 배열로 분할 할 수 있다. 분할한 m개의 부분배열 중 가장 큰 합을 최소화 했을 때, 부분배열 합의 최대값을 구해라. 이진탐색으로 풀었다. 부분배열 중 가장 큰 합(set, answer)을 이진탐색을 통해서 구하는 방법으로 해보자. answer가 될 수 있는 값은 제한사항을 보면 nums[i]의 최소값이 0이므로 0에서 nums배열의 합까지 가능하다. 따라서, left = 0, right = sum of nums. 로 한 후 이진탐색을 돌린다. 이진탐색은 medium = (left .. 2022. 3. 31.