일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- JPA
- 디버깅
- 관측가능성
- 완전탐색
- 셀러리
- 구현
- 결제서비스
- 쿠키
- 이분탐색
- 아키텍쳐 개선
- langgraph
- docker
- spring event
- 몽고 인덱스
- 카카오
- 누적합
- 알람시스템
- ipo 매매자동화
- AWS
- BFS
- ai agent
- piplining
- 백준
- 크롤링
- dau 3만명
- 프로그래머스
- gRPC
- 추천 검색 기능
- 베타적락
- next-stock
- Today
- Total
목록2022/11 (4)
코딩관계론

아이디어 도출 방법 1. 주어진 입력에서 트리를 구성하는 방법은? 트리는 root node가 하나만 존재함으로 y축이 제일 높은 node가 root일 수 밖에 없다. nodeinfo.sort(key=lambda nodeinfo:(-nodeinfo[1], nodeinfo[0])) root 노드를 기준으로 x 값이 root보다 작으면 왼쪽, 크다면 오른쪽으로 분리해주면 된다. root_node = nodeinfo.pop(0) make_tree([node for node in node_list if node[0] root_node[0]]) 증명 y축으로 정렬하면 아래와 같은 그림이 형성되어..

아이디어 도출 방법 1. 먼저 효율성을 생각하지 않고 정확성 위주로 문제를 해결하려고 했다. 방송이 중단된 시간(k)만큼 돌면서 food_time[index]의 시간을 1초씩 감소시켜준다. idx = 0 for i in range(k): remove_food_time(food_time[idx]) idx += 1 2. 순차적으로 1초씩 줄이면 탈락하는 문제로 한번에 하나씩 삭제할 수 없을까 생각을 했다. 한 번에 FOOD_TIME [idx]의 시간을 0으로 만들 수 있다면 연산의 복잡도가 배열 길이에 따라 변한다. 그럼 어떤 Index가 먼저 0이 될까? 답은 간단하게 FOOD_TIME 중 최소 값이 먼저 사라진다 그럼 해당 Index를 0으로 만들 때 필요한 시간 계산은 어떻게 할 까? FOOD_TIME..

아이디어 도출 방법 1. 먼저 방향성, 최단 거리등의 키워드를 통해서 BFS 탐색이 떠올랐다. 하지만 이동 타입이 두 개라는 점이 생각을 어지럽게 했다. 언제는 cntrl 키를 눌러서 이동해야 하고, 언제는 한 칸만 이동하면 될까 -> 결국 4*4의 맵임으로 완전 탐색으로 진행하기로 했다. 2. 같은 카드가 두 개 있는데 무엇부터 시작해야 할까? (A:어파치 카드1, A1:어파치 카드2) 처음에는 그리디 하게 X- > A와 X -> A1 비용 중 싼 이동 가격으로 완전 탐색을 진행했다. 하지만 틀렸다. 그리디는 최적이 아니다. 따라서 모든 순서에서 시작해야 한다. X -> A -> A1로 가는 것과 X -> A1-> A로 가는 것은 종료 위치가 달라지기에 결과 값에 영향을 미칠 수 있다. 아이디어는 어렵..

이 풀이를 읽기 전 태상이의 훈련소 생활 문제를 푸시는 것을 추천드립니다(풀이:https://bjwan-career.tistory.com/4) 풀이 "재생 시간을 간단하게 구하는 방법이 없을까?" 10:43:20 ~ 12:22:57의 재생 시간을 원본 문자열 그대로 구하려면 상당히 힘들다. 한 가지 방법은 초로 통일하여 계산하면 간단하게 재생 시간을 구할 수 있다. 또한 다른 이점은 구간을 나눠서 재생 시간을 계산하지 않아도 된다. 해당 초에 몇 명이 봤는지 알 수 있다면 최종 재생시간을 구할 수 있다. '해당 초에 몇 명이 동영상을 시청하고 있다'를 빠르게 구할 수 있는 방법은 없을까?" 누적합을 사용하면 해당 초에 몇 명이 시청하는지 알 수 있다 동영상의 시작 부분과 종료 시간을 초로 변경한 후 해당..