목록2025/02 (3)
엔지니어 블로그
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/SdU0P/btsMg6FFREr/IkdnbllO02k3mIN6nNGCgk/img.png)
최근 데이터 엔지니어링에 대해 다시 공부하고있다. 지금까지 공부한 내용들을 바탕으로 하나의 작은 프로젝트를 해보려고 한다. 그리고 프로젝트가 아닌, 프로젝트 진행 과정에서 나의 작업과 활동을 중심으로 글을 써 내려갈 생각이다. 진행기간2025년 2월 10일 ~ 2025년 2월 17일(예상) 프로젝트 목표Data Pipeline 구축본 프로젝트를 진행하는 목표는 지금까지 공부한 데이터 엔지니어링 생애 주기를 간단하게나마 구현해보면서 실제 기술들이 어떤 상황에서 왜 사용되는지 직접 확인해보는 것이다. Infra 구축데이터 파이프라인이 구성 될 인프라 부터 구축 하는 것이 목표다. 프로젝트를 진행하며 2개의 구축 목표와 ..목표를 세웠다. 구축을 통해 나의 기술적인 지식들을 향상시키고 점검 할 수 있을 것이며..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cLjflU/btsMebhrY9x/K42VkYsKJTb1Xl7dSvfA20/img.png)
풀이이 문제는 s가 t에 속하는지 판별하는 문제다. 단순히 속하는지 여부만 확인하는 것이 아니고, s의 문자 배열 순서가 t에서도 동일해야한다. 무턱대고 t에 속한 s의 문자들을 지웠다가 실패를 맛봤다.two pointer를 사용하기로 했다. i와 j를 두고 s[i] 가 t[j] 와 같다면 list에 추가한 후 s와 동일한지 확인하도록 구성했다. 코드class Solution: def isSubsequence(self, s: str, t: str) -> bool: i = 0 ans = [] for j in range(len(t)): if i >= len(s): break if s[i] == t[j..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ba7Um6/btsL4W4qAok/ZgxcZdCB0H3sYljGpEHUqk/img.png)
풀이기존에 for문을 중첩해서 사용하는 방법으로 문제를 풀었다. 정답은 됐지만 상당히 속도가 느린 정답이 되어 효율적인 방법을 고민해보았고, hash table을 사용하여 새롭게 문제를 풀었다. 물론 아이디어는 떠올려냈지만 구현은 솔루션을 살-짝 컨닝했다 ㅎ 코드class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: hash_dict = {} for i,num in enumerate(nums): if target - num in hash_dict: return [i,hash_dict[target-num]] hash_dict[nu..