공부하고 기록하는, 경제학과 출신 개발자의 노트

프로그래밍 211

[Python] 프로그래머스. 2021 카카오 recruit - 광고 삽입 (Level 3)

programmers.co.kr/learn/courses/30/lessons/72414#fn1 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 누적합 + 투 포인터를 활용해서 풀 수 있는 문제. 어떻게 적용해야 할지 감이 안 와서... 공식풀이와 풀이포스트를 참고했다.

화상 모의면접 연습 플랫폼 개발 프로젝트 (1) - 채팅 DB 아키텍처 고민하기

Yapp 동아리의 개발 프로젝트였던 화상 모의면접 연습 플랫폼 "위더뷰" 개발에 백엔드 개발자로 중도 합류했다. github.com/witherview/witherview_backend witherview/witherview_backend 🎯 위더뷰 Backend. Contribute to witherview/witherview_backend development by creating an account on GitHub. github.com 기본적으로는 자바 스프링부트를 사용하지만, WebRTC의 경우 Node JS를 사용하는 구조다. 프론트는 React 기반이다. 중도에 합류해서 기존 코드와 구조를 어떻게 분석했는지 / 어떻게 개선방안을 찾아갔는지 생각을 정리하는 용도의 포스트. 처음 프로젝트에 합류..

Java WebSocket과 Stomp로 간단한 채팅프로그램 만들기

WebSocket Http처럼 서버와 클라이언트 간 양방향 통신을 제공하는 프로토콜. 한 번 connection이 맺어지면, 서버 또는 클라이언트가 connection을 종료하기 전까지 계속 통신이 가능하다. 따라서 지속적으로 서버와 클라이언트가 high frequency / low latency로 통신해야 하는 경우 http보다 websocket 프로토콜이 유리하다. url로 topic을 지정한 채 메시지를 전송 해당 메시지가 Message Broker로 도달 (Simple Broker) Message Broker는 해당 토픽에 대응되는 response channel로 Route receiver가 메시지 수신. 이 과정을 진행하기 위해서는 Stomp라는 프로토콜이 추가로 필요. Stomp WebSock..

[Python] 프로그래머스. 2021 카카오 recruit - 메뉴 리뉴얼 (Level 2)

programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 오랜만에 다시 풀어보는 코딩테스트 문제. 제한사항을 봤을 때, 주어지는 데이터 크기가 크지 않아서 브루트 포스를 적용할 수 있는 문제였다. combinations를 활용했고, 마지막에 sort하는 것보다 효율적인 방식 (heapq라던가..)이 있지 않을까? 생각했지만 일단 이렇게 풀어도 통과한다.

[Python] 프로그래머스. 2021 카카오 recruit - 신규 아이디 추천 (Level 1)

programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 카카오계정개발팀에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가 programmers.co.kr 조건대로 따라가면 되는 문제.

[Python] 프로그래머스. 스타 수열 (Level 3)

programmers.co.kr/learn/courses/30/lessons/70130 코딩테스트 연습 - 스타 수열 programmers.co.kr 문제의 조건에 따르면 "스타수열을 생성하기 위한 핵심 공통값"이 반드시 존재해야 한다. {x[0], x[1]} ... {x[2n-2], x[2n-1]} 의 공통원소가 1개 이상이기 위해서는, 각 쌍마다 공통값이 최소 한 개는 있어야 한다는 의미. 따라서, a 배열에 있는 각각의 원소를 기준으로 '해당 원소가 공통값으로 적용되는 스타수열의 길이' 최댓값을 찾아야 한다. 이 때, 각 원소가 a 배열에 몇 번 등장했는지가 중요하다. 배열에 등장한 횟수가 많을수록, 스타 수열의 길이가 길어질 수 있기 때문. 예컨대 입출력 예시 #3을 보면 [0,3,3,0,7,0,..

[Python] 프로그래머스. 내적 (Level 1)

programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr def solution(a, b): return sum([i*j for i, j in zip(a,b)])