2주 차에 진행했었던 자동차 경주에 이어서, 이번 주 차 미션은 로또였다. 생각보다 간단한 문제였는데 요구사항은 신경써야 할 것이 많았다. 저번 주 자동차 경주에서 많은 사람들에게 내 코드를 보여드리고 리뷰를 받았는데, 다 됐다! 라고 생각해서 제출한 부분도 다시 보니 개선할 부분이 있었고… 그런 부분이 너무나도 많았고… 결국에는 다 벗겨진 나의 코드가 되었다. 멋쟁이 코드를 작성하기 위해서는 […]
작년 이야기 학교에 입학할 때만 해도 많은 학생들이 알고리즘 문제풀이에 관심을 가졌던 건 아니었다. 2019년에는 동아리에 속했던 사람들끼리 스터디를 하는 정도였고, UCPC나 ICPC 등의 대회에 참여하는 소식을 듣지 못 했다. 알지 못했으니 참여할 생각도 못 했다. 2022년에 군복무를 마치고 복학하고 나서 들었던 과목은 김성렬 교수님의 알고리즘이었다. 즐겁게 들었던 것을 넘어서서 공부법에 대해서 깨달은 게 많았다. […]
1주 차가 끝나기 무섭게 두 번째 과제가 던져졌다. 이번에는 과제와 함께 1주 차에서 사람들이 많이 헤맸던 부분을 피드백해주는 공통 피드백 또한 올라왔다. 하나씩 읽어보면서 나에게 해당되는 것은 없었는지, 공부할 것이 더 있었는지 살펴봤다. 가장 중요한 항목이라 짐작됐던 것은 요구사항을 제대로 분석한다는 것이었다. 주어진 과제에서 하라는 대로 하고, 그렇지 않은 항목에 대해서는 1주 차 회고에서도 적어두었지만 […]
우테코 프리코스 과정이 시작됐고, 첫 미션이 공개됐다. 1주차 미션은 숫자야구 게임. 어릴적에 시골 가는 기차에서 가족끼리 종이 한 장과 펜 하나면 즐길 수 있는 간단한 게임이었다. 하지만 막상 이걸 구현하라고 하니 어디부터..? 라는 생각부터 들었다 😂 우리가 알고 있는 숫자야구 게임을 코드로 적어야 한다. 랜덤하게 세 자리 수를 고르는 것부터, 스트라이크/볼 판정 등 구현해야 할 […]
작년 이맘때쯤에도 우테코 5기 지원이 한창이었다. 그때도 지원에 대한 많은 고민을 했고, 학교 공부를 지속해나가는 것이 더 재미있어서 1년간 학교를 더 다녔다. 그 와중에 우테코 5기분들이 올려준 테코톡이나 블로그 글이 흥미로워 읽어보기도 하고, 다양한 시각을 접할 수 있었던 터라 다음 기수에 대한 욕심을 키워나갔다. 올해에도 어김없이 우테코 모집공고가 발표됐다. 시간은 흘러 어느새 6기 모집이 되었고, […]
최장 증가 수열이라고 불리는 Longest Increasing Subsequence (LIS)라는 문제는 간단하지만 강력한 문제 중 하나이다. 이 문제는 다이나믹 프로그래밍을 활용한 $O(N^2)$ 풀이와 이분 탐색을 활용한 $O(NlogN)$ 풀이가 잘 알려져 있는데, 이분 탐색을 활용한 풀이가 어떻게 최적화되었는지에 대한 설명을 이 글에서 적고자 한다. Naive solution: Bruteforcing 간단하게 생각해보자. 모든 부분 수열에서 오름차순을 이루는지 확인해보면 된다. 모든 원소가 […]
TL;DR @Query 어노테이션이 붙은 친구들은 HQL/JPQL로 작성한다. Hibernate 6.0.0 버전부터 $\texttt{BITAND}$ 함수가 추가돼 이를 사용할 수 있다. 단, $\texttt{BITAND}$ 내부에 우리가 함수 인자로 던져주는 값이 들어있다면, 해당 값을 아래와 같이 적절히 캐스팅해 주어야 한다. 비트 연산 교내에서 진행했던 해커톤에서 비트 연산한 값을 기준으로 데이터베이스에 쿼리를 보내야 할 일이 생겼다. 간단한 요리 레시피들을 필터검색할 때, 특정 […]
INFCON 2023 좋은 기회로 인프런에서 주관하는 인프콘에 다녀오게 되었다! 작년에도 인프콘 참여를 위해 추첨했었지만 아쉽게 선정되지 못했었다. 올해에는 운이 좋게 당첨이 돼, 많은 사람들과 오프라인 행사를 즐길 기회가 생겼다. 얼마전에 인프콘에서 강의를 구매해서 듣고 있던 참이었는데 운이 좋았던 건지 내 지갑을 열어서 뽑아준 건지는… 🤔🤔🤔 아무튼 최근 나는 이런 오프라인 행사나 컨퍼런스가 있다면 최대한 일정을 […]
예선은 참가자로, 본선은 스태프로 대회를 보낸 사람이 얼마나 있을까? 예선에서 6솔로 아쉽게 탈락한 우리 팀을 뒤로하고, 본선에 진출(?)하게 된 기록을 남긴다! 예선 탈락자가 본선 대회에 등장하게 된 이유 대회 본선은 7월 22일(토)에 진행될 예정이었다. 그보다 이틀 앞선 20일에 UCPC 동아리 디스코드에 하나의 공지가 올라왔다. 정말 놀랍게도 이 시간에 깨어 있었다… 디스코드 알림도 원래 자주 확인하는 […]
해싱이라는 건 알고리즘 문제풀이를 해 봤다면 한 번쯤은 들어 보았을 분류이다. 주로 파이썬의 dict, C++의 unordered_set 등이 해싱을 사용해서 구현되었다. 삼성 동계 DX 알고리즘 특강을 들을 때, 해싱을 직접 구현해서 문제를 풀어야 하는 일이 있었다. 해시 함수를 직접 만든 뒤에, 해시가 가지는 시간상의 이점을 활용해서 문제를 해결한다. 그때 당시에는 문제를 푸는 데 꽤나 고생했다. 시간이 […]
Categories
Recent Posts