여러 개의 하위 문제를 먼저 푼 후 그 결과를 쌓아올려 주어진 문제를 해결하는 알고리즘
- 테이블 정의하기
- 점화식 찾기
- 초기값 정하기
class Solution: | |
def longestPalindrome(self, s: str) -> str: | |
def extend(l, r): # 구현 연습 필요!~ | |
while l >= 0 and r < n and s[l] == s[r]: | |
l -= 1; r += 1 | |
return s[l + 1:r] | |
res, n = "", len(s) | |
for i in range(n): | |
# 슬라이딩 윈도우를 떠올리다가 두 케이스로 나눔. |
class Solution: | |
def combine(self, n: int, k: int) -> List[List[int]]: | |
def dfs(nums: List[int], path: List[int]): | |
if len(path) == k: | |
res.append(path) | |
return | |
for i in range(len(nums)): | |
dfs( | |
nums[i+1:], |
'''pseudo | |
DFS-iterative(G, v) | |
let s be a stack | |
S.push(v) | |
while S is not empty do | |
v = S.pop() | |
if v is not labeled as discovered then | |
label v as discovered | |
for all edges from v to w in G.adjacentEdges(v) do | |
S.push(w) |
// 트리 높이 = 서브트리들 중 가장 큰 높이 + 1 (루트 포함) | |
int getHeight(int root) { | |
int res = 1; | |
for (int child: children[root]) | |
result = max(result, getHeight(child) + 1); | |
return result; | |
} |
## 모든 레코드 조회하기 | |
# https://programmers.co.kr/learn/courses/30/lessons/59034 | |
SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID; | |
## 역순 정렬하기 | |
# https://programmers.co.kr/learn/courses/30/lessons/59035 | |
SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC; | |
## 아픈 동물 찾기 | |
# https://programmers.co.kr/learn/courses/30/lessons/59036 |
## pip3 install krwordrank | |
import krwordrank | |
from krwordrank.sentence import summarize_with_sentences | |
from typing import List | |
## initialize | |
period = '1D' | |
category = 'cyber security' |
"""Tokenizer() | |
토큰화와 정수 인코딩(단어에 대한 인덱싱)을 위해 사용됩니다. | |
""" | |
from tensorflow.preprocessing.text import Tokenizer | |
t = Tokenizer() | |
fit_text = "The earth is an awesome place to live" | |
t.fit_on_texts([fit_text]) |
"""Embedding() | |
Embedding()은 단어를 밀집 벡터(dense vector)로 만드는 역할을 합니다. | |
인공 신경망 용어로는 임베딩 층(embedding layer)을 만드는 역할을 합니다. | |
Embedding()은 정수 인코딩이 된 단어들을 입력을 받아서 임베딩을 수행합니다. | |
Embedding()은 (number of samples, input_length)인 2D 정수 텐서를 입력받습니다. | |
이 때 각 sample은 정수 인코딩이 된 결과로, 정수의 시퀀스입니다. | |
Embedding()은 워드 임베딩 작업을 수행하고 | |
(number of samples, input_length, embedding word dimensionality)인 3D 텐서를 리턴합니다. |
""" Sequential() | |
Explain | |
------- | |
인공 신경망 챕터에서 입력층, 은닉층, 출력층에 대해서 배웠습니다. | |
케라스에서는 이러한 층을 구성하기 위해 Sequential()을 사용합니다. | |
Sequential()을 model로 선언한 뒤에 model.add()라는 코드를 통해 층을 단계적으로 추가합니다. | |
""" | |
from tensorflow.keras.models import Sequential |