inorder를 통해 BST를 traverse하면서 list에 오름차순으로 값을 넣고, 첫번째 list는 작은 숫자부터, 두번째 list는 큰 숫자부터 더하는 Two Pointer 방식으로 target을 찾았고 없으면 False를 반환한다. class Solution: def twoSumBSTs(self, root1: Optional[TreeNode], root2: Optional[TreeNode], target: int) -> bool: def inorder(n): if n == None: return [] left = [] right = [] if n.left != None: left = inorder(n.left) if n.right != None: right = inorder(n.right) re..
조건을 확인하는 WHERE에서 %를 연산해 조건에 해당하는 column을 뽑아내고 problem_id를 통해 정렬했다. SELECT problem_id FROM Problems WHERE likes / (likes + dislikes) * 100 < 60 ORDER BY problem_id 참고 - https://leetcode.com/problems/low-quality-problems/
input으로 주어진 num의 각 자리의 숫자를 나머지 연산자와 나누기를 통해 list에 저장하고, 이를 하나씩 꺼내 num이 나누어 떨어지면 카운트를 더해 반환했다. class Solution: def countDigits(self, num: int) -> int: ret = 0 n = num nums = [] while n > 0: nums.append(n % 10) n //= 10 for n in nums: if num % n == 0: ret += 1 return ret 참고: - https://leetcode.com/problems/count-the-digits-that-divide-a-number/
: 사용자 의견이나 정보를 알기 위해 입력할 큰 틀을 만들 때 사용. 전송한 데이터는 웹 서버가 처리하고, 결과에 따른 또 다른 웹 페이지를 보여준다.form 웹 페이지 방문 -> form 내용 입력 -> form의 데이터를 웹 서버로 전송 -> 웹 서버는 데이터 처리를 위해 웹 프로그램으로 전송-> 웹 프로그램이 데이터 처리-> 처리 결과에 따른 새로운 html을 웹 서버로 전송-> 웹 서버는 받은 html 페이지를 브라우저로 전송-> 브라우저는 받은 html을 보여줌action: form을 전송할 서버 쪽 script 파일 지정name: 식별을 위한 이름 지정accept-charset: form 전송에 사용할 문자 인코딩 지정target: action에서 지정한 script 파일을 현재 창이 아닌 다..
set 역시 list를 비롯한 다른 collection과 마찬가지로 다루기 위한 함수들이 존재하고 대표적으로 사용되는 함수들은 아래와 같다. add(elem) : 요소 elem을 set에 추가 remove(elem) : 요소 elem을 set에서 제거하는데 존재하지 않을 수 KeyError 발생 discard(elem) : 요소 elem을 set에서 제거하지만 없어도 error는 발생하지 않음 pop() : 임의의 요소를 반화하면서 제거. set가 비어있다면 KeyError 발생 clear() : set의 모든 요소 제거 참고 - https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset
# set 선언 s = set() # list로 casting l = list(s) 파이썬 공식 사이트에 따른 set에 대한 설명은 아래와 같다. : set 객체는 해시 가능한 별개의 객체들의 정렬되지 않은 컬렉션(collection이다. 멤버십 확인, 배열에서 중복 제거, 교집합, 합칩합, 차집합, 대칭 합 같은 수학 연산 계산 등에 주로 사용된다. 다른 컬렉션과 마찬가지로 set는 x in set, len(set), for x in set를 지원한다. 정렬되지 않은 컬렉션이기에 set는 요소의 위치나 삽입 순서를 기록하지 않는다. 따라서 set는 index나 slice 또는 기타 순서에 대한 동작을 지원하지 않는다. 현재 기본 제공 set 유형에는 set와 frozenset 두 가지가 있다. set ..
Git repository에 너무 큰 용량의 파일들을 push 하려할 때 아래와 같은 에러 메세지가 나타난다. Git은 HTTP를 통해 한 번에 push 명령어로 전송할 수 있는 데이터의 제한이 걸려있는데 이는 'http.postBuffer'를 통해 configuration setting을 변경해 줄이거나 늘릴 수 있다. 예를 들어, 500 MiB로의 변경은 아래 명령어를 통해 가능하다. git config --global http.postBuffer 524288000 에러 메세지: Enumerating objects: 117, done. Counting objects: 100% (117/117), done. Delta compression using up to 16 threads Compressing ..
정적이나 침묵 같은 조용한 상황을 견디지 못하는 공포증을 나타내는 용어로 Sedatephobia (진정공포증, 침묵고포증)가 있다. 호기심을 따라 조사를 해봤으나, 해당 용어는 널리 사용되거나 통용되는 용어는 아직 아닌거 같다. 또한 이런 공포증을 특정 물체나 상황, 환경에 과도하고 비이성적인 공포증이라는 넓은 범주 안에 하나로 취급해 집중적인 연구가 이뤄지는 것은 아닌거 같다. 실제로 논문 검색 사이트와 의학 저널에서 찾아봤지만 결과가 거의 나오지 않았고, 블로그에 게재된 글들만 찾을 수 있었다. 인류가 존재하는한 새로운 질병을 지속적으로 맞닥뜨릴 것이 자명하면서도, 근래에 들어 정신 질환의 심각성이 대두되고 있고 관심도 늘고있다. 예를 들어, 요즘 도파민이라는 단어가 많이 사용되고 이를 다루는 미디어..
integer로 구성된 sticks라는 input array의 모든 요소를 이어 붙이는 문제다. 이 때 더할 때 마다 발생하는 합이 최소가 되도록 하는 문제다. sorting을 통해 풀이를 해야하나 잠시 생각했지만 Min heap을 사용하면 쉽게 구현이 가능하다. class Solution: def connectSticks(self, sticks: List[int]) -> int: mh = sticks ret = 0 heapify(mh) while len(mh) > 1: m1 = heappop(mh) m2 = heappop(mh) sum_ = m1 + m2 ret += sum_ heappush(mh, sum_) return ret
createPath 함수에 주어지는 input 중 하나인 path를 '/'로 split해 parent path와 비교해가며 함수를 완성하려 했지만, Test case에 번번히 걸려 다른 방법으로 풀었다. split을 통해 '/'로 path를 자르는건 동일하지만 split 된 list에서 마지막 요소만 제외하고 하나의 String으로 다시 구성해 parent에 대한 True/False를 확인하는 방식으로 풀었다. get 함수는 Hash map을 통해 수월하게 구현했다. class FileSystem: def __init__(self): self.p = {} def createPath(self, path: str, value: int) -> bool: if path in self.p: return False..
- Total
- Today
- Yesterday
- Python
- min heap
- 티스토리챌린지
- tf-idf
- 파이썬
- 이코노미스트
- socket programming
- The Economist Espresso
- vertex shader
- 이코노미스트 에스프레소
- 딕셔너리
- join
- Hash Map
- leetcode
- ml
- Android
- I2C
- C++
- The Economist
- DICTIONARY
- machine learning
- java
- 머신 러닝
- 안드로이드
- Computer Graphics
- 소켓 프로그래밍
- defaultdict
- 투 포인터
- 오블완
- 리트코드
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
