profile
기록 & 정리 아카이브 용도 (보다 완성된 글은 http://soopsaram.com/documentudy)

Leetcode - 209. Minimum Size Subarray Sum

sub-array의 합이 주어진 target보다 크거나 같은 sub-array의 최소 길이는? (없다면 0 리턴)전형적인 슬라이딩 윈도우 전략if (sum >= target) -> st++ 앞부분 사이즈 줄이기if (sum < target) -> end++뒷부

2023년 3월 13일
·
0개의 댓글
·
post-thumbnail

[루빅스큐브] 3. 3층 맞추기 (완성)

지난포스트에서 2층까지 큐브를 맞추는 방법에 대해 알아보았다. 이제 마지막 3층을 맞춤으로써 3x3x3 큐브를 초급공식을 마무리 한다.

2023년 3월 11일
·
0개의 댓글
·

Leetcode - 146. LRU Cache 풀이

다음 동작을 하는 LRUCache class 를 구현하라.주어진 capacity값까지만 저장가능. 양수값으로 초기화된다.int get(int key) key가존재하면 value를 리턴하고 없다면 -1을 리턴하라.void put(int key, int value) key

2023년 3월 2일
·
0개의 댓글
·

Leetcode - 673. Number of Longest Increasing Subsequence

주어진 배열에서 가장 긴 subsequence 즉 LIS의 갯수를 구하라.우선 LIS 길이를 구한 뒤, 배열을 backtracking을 통해 순회하면서 LIS길이를 만나면 총 갯수를 카운트 한다. 답은 맞지만 TLE가 발생한다. DP로 풀이하는 방법: memoizati

2023년 2월 27일
·
0개의 댓글
·

Leetcode - 334. Increasing Triplet Subsequence

주어진 배열에서 아래 조건을 만족하는 세개의 값이 존재하면 true리턴i < j < k and nums\[i] < nums\[j] < nums\[k]LIS 문제의 풀이방법으로 해결 (https://velog.io/@soopsaram/Lee

2023년 2월 21일
·
0개의 댓글
·
post-thumbnail

ChatGPT로 파이썬 Unit Test 초안 작성하기

무엇이든 시작이 가장 어렵다. 시작하기 귀찮은 일은 ChatGPT 먼저 초안 작성을 시킨 뒤, 살을 붙이는 방식으로 일하면 생산성이 많이 올라갈것같다. 특히 유닛테스트 TC작성은 항상 마음의 짐인데, ChatGPT 를 활용하면 보다 쉽게 작성을 시작할 수 있겠다.

2023년 2월 17일
·
0개의 댓글
·

Leetcode - 510. Inorder Successor in BST II

BST가 주어지고 트리 내의 한 노드의 포인터가 주어진다.(root노드가 주어지는게 아님주의). 그 노드의 Inorder Successor를 리턴하라. 각 노드는 parent 노드를 가지고 있다. 유사문제는 : 285. Inorder-Successor-in-BST풀이

2023년 2월 17일
·
0개의 댓글
·

Leetcode - 285. Inorder Successor in BST

BST와 한 노드가 주어진다. 해당 노드보다 다음 큰 값을갖는 노드 즉, Inorder Successor 노드를 찾아라.모든 노드를 순회해서 찾을수도 있을것이다. 하지만 이진트리는 탐색시간이 각 단계별로 절반씩 줄어드는 O(logn)을 고려해야한다.inorder 순회는

2023년 2월 16일
·
0개의 댓글
·

개발자와 커뮤니케이션의 중요성

<구글 엔지니어는 이렇게 일한다>를 읽던 도중 쓴 짧은 단상이다일을 하면 할수록 개발시 협업자들간 원활한 커뮤니케이션의 중요성이 점점 크게 느껴진다. 원활한 커뮤니케이션을 위한 전제 조건은 심리적 안정감인데. 질문을 하거나 문제나 아이디어 등을 제안해도 팀 내에서

2023년 2월 13일
·
0개의 댓글
·

직업과 태도에 대해서

JOBS-CHEF (잡스-셰프) 를 읽고 작성 2022년 2월 앞으로도 그럴지는 모르겠지만 최근까지 코딩 붐이 일었고, 미디어를 통해 소프트웨어 개발자 라는 직업이 매력있게 그려지는것을 종종 보았다. 여러 동기가 작용하겠지만 로봇에게 일자리를 잃지 않을까 대한 막연한

2023년 2월 13일
·
0개의 댓글
·

Leetcode - 567. Permutation in String

s2가 s1문자열의 permutation을 포함하고 있다면 true를 리턴하라. permutation 이라서 back tracking을 떠올릴 수 있지만 그렇게 풀면 대단히 느려진다. permutation 이라는것은 각 문자의 frequency가 항상 동일하다는 뜻.

2023년 2월 8일
·
0개의 댓글
·

Leetcode - 138. Copy List with Random Pointer 풀이

링크드리스트가 주어진다. 노드에는 next 포인터와 random 포인터가 있는데, random은 해당 리스트내부의 무작위 노드를 가리킨다. 이 링크드리스트를 복사하여 새로운 링크드 리스트를 만들어라.노드의 값만 복사하는것은 쉽다. 문제는 random 노드. 기존리스트와

2023년 2월 1일
·
0개의 댓글
·

Leetcode - 337. House Robber III

이진 트리 구조로 연결된 집이 존재한다. 인접한 두 집이 털렸을때 경보가 울린다. 경보를 울리지 않고 모든 집을 털때 가장 많이 훔칠 수 있는 금액은?인접한 두 노드를 훔치지 않아야한다. 이전 House Robber 문제들 처럼 현재 노드에서는 훔치거나, 훔치지 않는

2023년 1월 25일
·
0개의 댓글
·

Leetcode - 213. House Robber II 풀이

프로페셔널 도둑에게 훔칠수 있는 돈이 기록된 집의 리스트 배열이 주어진다. 집은 원형으로 배치되어있다. 따라서 배열의 맨 처음 집과 맨 마지막 집은 인접한 집이다. 인접한 두 집을 한꺼번에 훔치면 경보가 작동해 잡혀간다. 잡혀가지 않고 최대로 많이 훔칠수 있는 금액은?

2023년 1월 23일
·
0개의 댓글
·

Leetcode - 문제리스트 정렬하는 방법

liked/disliked 비율과 like갯수의 조합으로 정렬하면 좋은 문제 순서대로 파악이 가능할것같아서 Leetcode Rest API가 있는지 찾다가 누군가 이미 만들어놓은 기가막힌 스프레드 시트를 발견했다. 매일같이 업데이트 되는 시트이며 여기서 조건 정렬해서

2023년 1월 21일
·
0개의 댓글
·

Leetcode - 315. Count of Smaller Numbers After Self 풀이 [H]

주어진 배열에서 자기 자신의 오른쪽에 있는 값들중 자신보다 작은 값의 갯수를 구하라.numsl > numsr 일 때는 그 횟수를 cnt를 누적해서 더하다가. 크기가 반대가 되는 순간 (그동안 누적해서 더한 값이 l 의 오른쪽에있는 작은값의 갯수다)cnt값은 현재까지의

2023년 1월 17일
·
0개의 댓글
·

Leetcode - 208. Implement Trie (Prefix Tree) 풀이

아래와 같은 동작을 구현하라. 기본적으로 trie를 구현하는 방법에 대한 문제이지만, 그 전에 hashtable만 사용하여 아주 간단한게 풀어보았다. hashtable 방법insert() 함수에서 모든 prefix를 해시테이블에 값 1로 저장한다. 그리고 전체 word

2023년 1월 16일
·
0개의 댓글
·

Leetcode - 437. Path Sum III 풀이

주어진 트리에서 root부터 leaf까지 path중에 합이 targetSum 과 같은 경우는 총 몇개인가 (root부터 시작될 필요 없음)https://leetcode.com/problems/path-sum-iii/기본적으로 560. Subarray Sum E

2023년 1월 12일
·
0개의 댓글
·

Leetcode - 28. Find the Index of the First Occurrence in a String

주어진 haystack 문자열에서 needle 문자열을 탐색했을때, 발견된 첫번째 인덱스를 리턴, 없다면 -1리턴. 해시값 비교하기. O(n\*m)kmp 알고리즘

2023년 1월 9일
·
0개의 댓글
·
post-thumbnail

[루빅스큐브] 2. 2층 까지 맞추기

지난 단계에서 바닥면 흰색 크로스 그리고 옆면2층까지 맞추었다. 이번 단계에서는 2층까지 남은 조각을 모두 맞춘다.흰색을 포함한 남은 4개의 코너조각을 맞추는 단계다. 우선 해당 조각을 3층으로 올린다. 만약 1층에 있던 조각을 3층으로 올리기 위해서는 트위스트 동작을

2023년 1월 6일
·
0개의 댓글
·