목록전체 글 (35)
어쩌다데싸
백준을 풀다 보니 심심찮게 등장하는 우선순위큐. 이참에 간단하게 정리하고 넘어가야겠다. 1. 우선순위 큐(Priority)란?1) 개념기본적인 자료구조의 큐(Queue)에 우선순위를 도입한 자료구조가 우선순위 큐(Priority)이다. 즉, 각 값들은 우선순위를 가지고 있고 우선순위가 높은 값부터 처리되는 자료구조이다. 2) 구현방법우선순위 큐는 배열, 연결리스트, 힙(Heap)으로 구현가능하며 이 중 힙으로 구현하는 것이 가장 효율적이다.배열, 연결리스트의 삽입/삭제 시간복잡도 : O(n) 힙의 삽입/삭제 시간복잡도 : O(log2n) - 완전 이진트리 구조이기 때문에!3) Priority Queue vs. HeapqPriority Queue는 Thread Safe하고 Heapq는 Non Safe하다..
1. 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/340212 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 생각하기- 문제가 길어서 이해하는데 좀 걸렸지만 문제 자체는 어렵지 않은데? 하며 호기롭게 While 문과 For 문을 함께 사용해서 도전. 오랜만에 문제 풀어서 시간초과를 간과했다...- 이분탐색으로 구현하자는 아이디어까진 냈으나 구현에서 막혀버리고 설마 진짜 이분탐색이겠어 하며 다른 사람의 풀이를 참고함- 이분탐색으로 푸는 게 맞았다. 다음에는 좀더 구현하려고 노력한 다음에 ..
목차 https://login-data.tistory.com/24 코딩테스트를 위한 기본 개념 1탄 - 그래프(Graph)코딩테스트를 공부하며 그냥 문제만 풀기도 하고 개념을 보고 공부하기도 했는데, 뭔가 따로노는 느낌이 들었다.문제만 풀다보면 막혀서 답지 보고 그 때는 이해한 것 같아 넘어갔다가 나중에login-data.tistory.com그래프 글에서 이어지는 내용으로, 그래프를 어떻게 탐색하는가 방법에 따른 DFS와 BFS를 정리해보려 한다.DFS와 BFS 각각 방법으로 탐색하는 순서를 비교하기 위해 아래와 같은 그래프가 있다고 하자. 1. DFS (Depth-First Search) : 깊이 우선 탐색영문에서도 알 수 있는 것처럼, DFS는 그래프에서 깊은 부분(자식노드)을 우선적으로 탐색하는..
코딩테스트를 공부하며 그냥 문제만 풀기도 하고 개념을 보고 공부하기도 했는데, 뭔가 따로노는 느낌이 들었다.문제만 풀다보면 막혀서 답지 보고 그 때는 이해한 것 같아 넘어갔다가 나중에 까먹을 때가 많았고,개념을 공부했을 때는 그래서 어떻게 구현하는건데? 하면서 결국 문제를 풀지 않으면 개념을 익히기 어려웠다. 그래서 적어보는 나를 위한 코딩테스트 개념 & 기본코드 간단 정리집. 기본적인 개념을 익혀보고, 기본적인 코드를 익히고, 관련 문제를 정리해본다. 목차 1. 그래프 (Graph) 개념그래프는 실제 세계의 현상이나 사물을 정점(Vertext, 또는 노드(Node))과 간선(Edge)로 표현하기 위해 사용된다. 1.1 관련 용어- 노드 (Node) : 위치를 의미. 정점(Vertex)라고도 함- 간..
목차 지금까지 해왔던 분야인 추천 시스템과 LLM 중 앞으로는 추천 시스템에 집중하고 싶어 블로그 초창기에 작성했던 추천 시스템 관련 글을 다시 정리해보려 한다.본격적인 글 작성에 앞서, 왜 추천 시스템을 선택했는지를 고민해봤다. AI 시장에는 다양한 도메인과 기술이 존재하지만, 모든 분야의 전문가가 되기는 어렵다. 그래서 적어도 오랫동안 지속할 수 있는 특화 분야를 정해야겠다는 생각이 들었다. SI 회사의 특성상 프로젝트마다 도메인과 기술이 다르지만, 다행히도 투입된 프로젝트마다 '추천 시스템'이라는 공통점이 있었다.일 때문에 흥미를 갖기 시작했지만, 개인적으로도 전공인 경영학과 관련이 있으면서 현재에도, 미래에도 반드시 필요할 것 같은 분야가 추천 시스템이라 생각해 이를 집중적으로 공부해보려 한다. ..
벌써 글또가 시작하고 5개월이 지나갔다. 그 사이에 참 많은 일이 있었는데, 가장 큰 건 역시 퇴사.글또 9기 활동이 시작하던 23년 12월부터, 예전부터 막연하게 꿈꿔오던 퇴사를 진지하게 고민하기 시작하면서 많이 바빴고, 또 많이 아팠다. 고민거리가 생기면 다른 일에 소홀해지는 성격에 한동안은 글또 활동을 열심히 하지 못해 아쉬웠었는데, 퇴사를 확정하고부터는 참여할 수 있는 행사는 다 참여하며 아쉬움을 달랬다. 개인적으로 많은 생각할 거리를 주었던 글또 9기의 마지막 글은 퇴사 배경과 글또 후기, 그리고 앞으로의 나에 대해 적어보고자 한다. 1. 어쩌다 퇴사?퇴사를 고민하기 시작한 건, 일단 회사가 많이 흔들리면서 이곳에서의 미래가 불안해졌기 때문이다. 동기부여가 될 외부 조건이 상당수 사라졌고, 12..
지난 글에 이어 글또 활동에서 무료 수강 기회가 생긴 'Apache Spark와 Python으로 빅데이터 다루기' 강의 후기를 작성해보려 합니다. 1. 강의 수강 배경 & 사전 지식 많은 데이터 관련 공고에서 빅데이터 처리 경험과 스파크 이용 경험을 묻는 것을 보면서, Spark에 대한 이해는 마음에 숙제처럼 남아 있었습니다. 수강 가능 기한이 정해진 이번 기회를 통해 미루지 말고 들어보고자 해당 강의를 신청했습니다. 솔직히 다른 강의 사이트에서도 내돈내산으로 약 115시간짜리 빅데이터 처리 관련 강의를 구매했는데, 당장 일하는데 필요하지도 않고 시간도 워낙 길다보니 들을 엄두가 안 났습니다. 'Apache Spark와 Python으로 빅데이터 다루기' 강의는 7시간 반 정도로 상대적으로 짧은 강의라 해..
활동 중인 글또에서 유데미의 강의를 수강할 수 있는 좋은 기회를 받았습니다. 여러 개의 강의에서 고민하다가 'Python 부트캠프 : 100개의 프로젝트로 Python 개발 완전 정복'과 ' Apache Spark 와 Python으로 빅 데이터 다루기' 강의를 신청했습니다. 이번 글은 두 강의 중 'Python 부트캠프 : 100개의 프로젝트로 Python 개발 완전 정복'에 대한 후기입니다. 1. 강의 소개 해당 강의는 다양한 프로젝트를 통해 파이썬 언어에 대한 이해와 기술을 향상시킵니다. 초급부터 중급, 고급 과정으로 구분되어 있고 총 100개의 섹션으로 나누어져 있어 하루에 한 섹션씩 들으면 100일 완성할 수 있는 강의입니다. 데이터 사이언스, 웹개발, 크롤링, 게임, GUI 프로그래밍 등 파이썬..