본문 바로가기

분류 전체보기

(84)
LCS(Longest Common Sequence) 알고리즘 LCS LCS(Longest Common Sequence)는 주어진 수열들에 대해 가장 긴 공통 부분 수열이다. 예를 들어, 두 문자열 BCDAACD와 ACDBAC에 대한 공통 부분 수열들은 다음과 같다. BC, CDAC, DAC, AAC, AC, CD ... 이러한 공통 부분 수열 중에서 가장 길이가 긴 부분 수열은 CDAC이다. LCS는 $Dynamic Programming$을 이용해 접근할 수 있다. 알고리즘 동작 다음과 같은 두개의 수열 $X$,$Y$가 있다. 우선, $n = length(X), m = length(Y)$ 일 때, $(n+1)*(m+1)$크기의 dp배열이 필요하다. 그리고 다음과 같이 배열을 채운다. dp[i][j]는 $X$의 i번째 원소와 $Y$의 j번째 원소까지 봤을 때, 현재..
LINE 2022 하반기 신입 LINER 공개채용 코딩테스트 후기 지난주 24일, 카카오 코테와 같은 날 아침에 라인코테를 봤다. 라인은 히든테케에 대한 정답 유무를 알려주지 않아서 맞았는지 틀렸는지 알 수 없다는게 카카오와 다른 점이다. 2시간 30분 내에 5문제를 풀어야 하는데 생각보다 시간이 빡빡해서 풀었던 문제 반례찾을 시간도 없다.. 문제 1. 구현(실2~3) 그냥 구현하면 되는문제였다. 까다롭지 않아서 슥슥하면 풀렸다. 2. 문자열(실1) 패턴 맞는 문자열 찾는거였는데 정규식 쓰면 됐다. 근데 나는 정규식 쓸줄 몰라서 백트래킹써서 풀었다. 정규식을 생활화 하자 3. BFS(골4~3) https://www.acmicpc.net/problem/4179 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1..
2023 KAKAO BLIND RECRUITMENT 1차 코딩테스트 후기 방금 전 카카오 코테가 끝났다. 매년 개최되는 것처럼 프로그래머스 플랫폼을 이용했고, 히든테케를 알려주기 때문에 마음이 편한다. 총 7문제를 5시간에 풀어야 한당 https://career.programmers.co.kr/competitions/2759 2023 KAKAO BLIND RECRUITMENT career.programmers.co.kr 문제 1번 실3 카카오가 제일 좋아하는 날짜연산인데, 한 달이 28일로 고정이므로 yyyy*12*28 + mm*28 + dd 해도 오버플로우 안나서 그냥 구현하면 된다. 2번 실1 전형적인 그리디 문제였다. 그냥 뒤에서부터 처리하면 되는데 수거, 배달 두가지가 있어서 조금 까달다로웠다. 3번 골5 역시 카카오가 제일좋아하는 조합 완전탐색이었다. 모두 다 할인율..
Softeer 4차 정기 역량 진단 취득 후기 지난 9월 6일, 소프티어 역량 진단 시험을 봤다. https://softeer.ai/challenge/certification/detail.do?idx=1974 Softeer 제1조 (목적) 이 약관은 현대엔지비㈜ (이하 ‘회사’)가 제공하는 Softeer 사이트의 테스트 참여에 관한 사항을 규정함을 목적으로 합니다. 제2조 (테스트 응시자의 의무) 1. 아이디와 비밀번호에 softeer.ai 현대자동차 그룹에서 밀고있는 코딩테스트 플랫폼인데 실 사용자는 별로 없는 것 같고, 취득하면 주어지는 혜택이 좋아서 응시자는 많다. 문제는 총 2문제가 나온다. (3시간) 2문제를 시간내에 모두 풀면 인증을 받을 수 있는데, 인증을 받으면 현대자동차, 기아, 현대모비스, 현대오토에버 지원시 코딩테스트를 면제해준다..
Codemap 프로젝트 (소프트웨어 마에스트로 13기) - 아키텍처 구축 현재 소프트웨어 마에스트로에서 진행하고 있는 개발 프로젝트의 아키텍처에 대해 포스팅하려한다. 우리는 크게 세 가지 부분으로 나누었다. 1. Frontend 2. Main Server(BE) 3. Judge Server 프론트는 한 팀원이 Vue.js 프레임워크를 이용해 맡고 있고, 나는 메인 서버 개발 그리고 나머지 한 팀원은 채점서버를 구현하고 나와 같이 메인 서버 개발을 같이하고 있다. 아키텍처 구성 최종 아키텍처는 위와 같다. 앞으로 구성들을 하나하나 추가해보며 어떻게 전체 아키텍처가 구성되었는지 알아보자. 1. 메인서버 메인서버는 Spring Boot 프레임워크를 이용했다. MVC패턴을 사용하려고 했으나 한 팀원이 프론트를 전담하고 있기 때문에 굳이 View를 사용하지 않고 REST API 서버만..
Codemap 프로젝트 (소프트웨어 마에스트로 13기) - 개요 현재 소프트웨어 마에스트로에서 13기 연수생으로 활동 중이다. 나는 두 명의 고수들과 함께 프로젝트를 진행하고 있다. 소프트웨어 마에스트로에서는 팀원끼리 자유롭게 팀을 꾸려서 자유주제를 정해 약 6개월간 프로젝트를 진행하는데, 나는 내가 팀원을 직접 모았다. 처음에는 코딩테스트 대비를 위한 모의고사 전용 플랫폼이 부족하다고 느껴서 해당 주제로 타겟을 잡고 알고리즘 고수들을 영입했다. (두명 다 다이아에 코포 퍼플) 그러나 여러 멘토님들과 기획에 대한 멘토링을 진행하면서 현재 존재하는 여러 플랫폼들(백준, 프로그래머스, 코드트리 등)을 이길 수 있는 차별성이 부족했다. 따라서 코딩테스트 모의고사 플랫폼은 잠깐 접어두고 올림피아드나 ICPC같은 프로그래밍 대회를 준비하기 위한 플랫폼으로 노선을 바꿨다. 현재..
2022 토스 NEXT 개발자 챌린지 (서버직군) 코딩테스트 합격 후기 지난주 토요일 (8/6)에 진행했던 코딩테스트이다. 2022 토스 NEXT 개발자 챌린지에는 여러 직군이 존재했고, 코딩테스트 후에 면접을 거쳐 최종 8월 말에 입사할 수 있는 기회이다. 현재 소프트웨어 마에스트로 활동을 하고 있기에 8월 말에 입사를 한다면 둘 중 하나는 포기해야 했기 때문에 그냥 넘어가려 했지만 같이 프로젝트를 진행하는 팀원도 지원한다고 했고 소프트웨어 마에스트로를 같이 진행하고 있는 여러 사람들도 지원하는 것을 보고 자신감?을 얻어 지원하게 되었다. 이번 테스트는 총 2시간에 거쳐 진행되었는데 90분에 7문제를 풀고 30분에 서술형 다섯문제를 푸는 방식이었다. 코딩테스트에서 서술형은 본건 처음이라 어떤 문제가 나올지 예상하지 못해서 힘들었다. 코딩테스트는 프로그래머스 플랫폼을 통해 ..
오픈 소스 기반의 사용자 중심 MAC 스케줄러 설계 및 구현 지난 2021년 6월부터 2022년 6월까지 약 1년간 네트워크 연구실에서 진행했던 프로젝트이다. 본 프로젝트의 결과물로 한국통신학회(KICS)가 주관하는 2022 하계 종합학술대회에 학부논문으로 게재했다. 해당 논문은 https://journal-home.s3.ap-northeast-2.amazonaws.com/site/2022s/abs/0670.pdf에서 확인할 수 있다. 네트워크 수업조차 듣지 않았을 때 무작정 시작해서 처음 네트워크를 이해할 때 굉장히 힘들었던 기억이 난다. 이동통신에 관련해서 Netmanias와 표준등을 읽어보며 팀원들과 함께 공부했었는데 사실 아직도 이해하지 못하는 것이 더 많다... 아무튼 우리의 프로젝트 주제는 오픈소스를 활용해 사용자 중심의 MAC스케줄러를 구현하는 것이었..