본문 바로가기

전체 글216

(25.03.29) 최대 사각형 구하기 알고리즘 : 히스토그램, DP, 비트마스크 Maximal Rectangle 이란 알고리즘을 비트마스크와 DP를 사용하는 예제로 풀게 되었는데,상당히 이해하는데 많은 시간이 걸렸기에.. 일단 완벽하게 이해를 하는것 보다 이렇게 작동되는지 알고 코드 흐름을 기억하는 수 밖에 없는 것 같다. 추후에 언젠가 보여질 수 있기 때문에 반복해서 코드를 기억해서 작성하기도 했다.Given a rows x cols binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area.Input: matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0".. 2025. 3. 29.
(25.03.27) 비트 마스크의 활용 : DP 심화 비트마스크가 생각보다 빠르게 적용할 수 있는 점을 알게 되어서 DP 부분에 많은 적용을 해보려고 노력하고 있다.  You are given an integer array nums. We call a subset of nums good if its product can be represented as a product of one or more distinct prime numbers.For example, if nums = [1, 2, 3, 4]:[2, 3], [1, 2, 3], and [1, 3] are good subsets with products 6 = 2*3, 6 = 2*3, and 3 = 3 respectively.[1, 4] and [4] are not good subsets with pro.. 2025. 3. 27.
(25.03.25) 비트 마스크의 활용 : DP DP 알고리즘은 메모이제이션과 이를 누적해서 DP 테이블에 저장하는 재귀 또는 반복을 채택하고 있다.하지만, 어떤 경우에는 저장해야하는 경우의수가 너무 많아 메모리를 너무 많이 사용하거나, 또는 알고리즘 코드를 작성하는데 복잡도가 높아질 수 있다. 이때 이전의 모든 조합 구하는 방식인 "비트마스크"를 활용해서 비교하면서 진행할 수 있다.You are given two integers m and n. Consider an m x n grid where each cell is initially white. You can paint each cell red, green, or blue. All cells must be painted.Return the number of ways to color the grid.. 2025. 3. 25.
(25.03.24) n개에서 k 고르기 : 재귀 백트래킹 VS 비트마스크 OO 사 코딩 테스트를 진행하면서, 기억에 남는 문제를 복기를 해서 알고리즘을 확인했다.최대한 많은 조합을 만드는 문제는 많은 알고리즘에서 발생을 했지만,만약 그 조합 중에 K개 만큼 특정 갯수가 변수로 주어진 경우에는, 불필요하게 모든 조합을 구하고, 그리고 거기서 k개의 요소를 가진 경우의 수를 모두 고르는 방식은 굉장히 비효율 적이다. 따라서 재귀 트백트래킹을 사용할 수 있지만, 이 보다 효율적인 메모리를 사용해서 재귀를 사용하지도 않고도, 순서 -> 비트로 사용하는 비트마스크 방식을 찾아 이를 적용하고 학습했다. [음료수 맛 조합 문제]여러 종류의 음료수가 주어집니다. 각 음료수는 여러 가지 맛을 가지고 있습니다. 4가지 맛이 있을 경우 음료수의 맛은 이진수(1101, 1000, etc) 로 주어.. 2025. 3. 24.
Gena Labeling Tool Development: From Planning to PoC Hello, I am Kim Hyunjin (Andrew), an intern at Gena Co.   In order to create a high-quality dataset for AI training in Gena's text2sql GenaSQL project, which focuses on natural language (NL) to SQL query transformation, I participated in annotating and error-checking the existing dataset.  During this process, I encountered some issues when manually handling CSV files with Data Anaylist of Gena .. 2025. 3. 21.
Gena Labeling Tool 개발기 : 기획부터 PoC 까지 안녕하세요, 저는 Gena Co. 인턴 김현진(Andrew) 입니다.   Gena에서 text2sql GenaSQL의 자연어(NL) - SQL query 변환 간 AI 학습을 위한 고품질의 데이터 셋을 만들기 위해, 기존  데이터 셋의  주석과 오류 점검에 참여하면서, CSV 파일로 수동으로 진행하던 애로사항을 발견했습니다. 이러한 문제를 해결할 수 있을 만한 Gena Labeling Tool 기획을 할 수 있는 기회를 얻게 되어 PoC(Proof of Concept) 수준으로 개발하게 되어 그 개발기를 소개시켜드리려고 합니다. 데이터 분석가 니즈 파악 : 비효율적인 라벨링    데이터 분석가 분과 얘기를 통해 진행하면서, 분석가의 페인포인트를 확인할 수 있었습니다. 첫번째로 해결하기 위해서, 활용할 수.. 2025. 3. 20.
(25.03.19) 대한민국채용박람회 참여하기 이번에 대한민국채용박람회에 참여하게 되었습니다. 정부 및 경제 단체 등이 주최하는 대규모 형사였고, 미리 준비를 하고 방문했습니다. 사람이 많이 몰려 사전 등록이 며칠 전부터 마감이 되었습니다.  백엔드 개발자로서 이력서와 포트폴리오를 준비하였습니다. 또 사람이 몰릴것을 대비해서, 원하는 회사의 부스 위치를 미리 파악한 뒤에 상담 및 간이 면접 순서를 미리 정했습니다.   보다 편한 복장도 가능했지만, 이력서 사진과 비슷한 느낌을 주기 위해 정장을 입고, 조금더 예의있게 참가하고자 했습니다.    행사는 오전 10시부터 시작했지만, 사람이 많은 것을 대비해서 저는 9시에 도착하여 사전 접수를 마친 후 곧바로 9:30에 입장하였습니다. 사람들이 많아서 일찍부터 혼잡한 분위기였습니다.  채용 설명회도 진행되.. 2025. 3. 19.