WordPress는 커스텀에 최적화돼 있다. 내 입맛대로 바꿀 수 있고, 다양한 플러그인이 지원되는 것은 참 좋지만, 댓글을 관리하는 것이 참 까다롭다. 처음에는 주어진 댓글 창을 css를 수정해가면서 원하는 모습이 나올 때까지 바꿔갔는데, 이게 참 어려웠다. 검색을 해 보니 Utterances, Giscus라는 오픈소스 댓글 스크립트를 알게 됐다. Utterances는 Github Issue로 작동하고, Giscus는 Github Discussion으로 작동한다. Giscus가 Utterances에서 영감을…
우테코 1차 합격을 본 건 시간이 좀 지나고 나서였다. 12월 11일에 1차 합격 발표가 나왔는데, 그 주간이 학교 시험 주간인 데다, 3시가 넘어서야 시험이 끝나는 바람에 부랴부랴 계단으로 가서 합격 결과를 확인했다. 프리코스 1주차 PR 제출자가 2500명이 넘었던 데다가, 2배수인 걸 감안하면 160명 안팎으로 1차 합격자가 선발됐을 것이다. 내가 쟁쟁한 경쟁률을 어떻게 뚫었을까..? 싶었던 1차…
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}$ 내부에 우리가 함수 인자로 던져주는 값이 들어있다면, 해당 값을 아래와 같이 적절히 캐스팅해 주어야 한다. 비트 연산 교내에서 진행했던 해커톤에서 비트 연산한 값을 기준으로 데이터베이스에 쿼리를 보내야 할 일이 생겼다. 간단한 요리 레시피들을 필터검색할 때, 특정…
예선은 참가자로, 본선은 스태프로 대회를 보낸 사람이 얼마나 있을까? 예선에서 6솔로 아쉽게 탈락한 우리 팀을 뒤로하고, 본선에 진출(?)하게 된 기록을 남긴다! 예선 탈락자가 본선 대회에 등장하게 된 이유 대회 본선은 7월 22일(토)에 진행될 예정이었다. 그보다 이틀 앞선 20일에 UCPC 동아리 디스코드에 하나의 공지가 올라왔다. 정말 놀랍게도 이 시간에 깨어 있었다… 디스코드 알림도 원래 자주 확인하는…
Categories