일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 몽고 인덱스
- 디버깅
- 구현
- langgraph
- ai agent
- 셀러리
- 쿠키
- 아키텍쳐 개선
- 완전탐색
- ipo 매매자동화
- 크롤링
- JPA
- gRPC
- 이분탐색
- AWS
- 결제서비스
- docker
- 관측가능성
- 추천 검색 기능
- 누적합
- 베타적락
- 카카오
- spring event
- next-stock
- 백준
- dau 3만명
- 알람시스템
- 프로그래머스
- piplining
- BFS
- Today
- Total
목록2024/04 (19)
코딩관계론

문제 이해하기 H-index를 찾는 문제로, h-index는 n번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용됐다면 h의 최댓값이 이 과학자의 H-index입니다 예를들면[3 0 1 6 1 5]가 있다면 3이 h-index가 됨 주의할 점은 배열에 있는 값만 h-index가 되는게 아니기 때문에 최대 값을 기준으로 h-index(0 1, 2, 3, 4, 5, 6)를 탐색해야 합니다. 문제 해결 방법 설명하기 1. 정렬 h번 이상 인용된 논문이 h개 이상이라는 것을 찾기 위해서 정렬을 수행했습니다. 이는 특정 인덱스를 기준으로 이후에 나오는 값은 모두 특정 인덱스의 값보다 크기 때문에 h번 이상이라는 것을 찾기가 쉽습니다. citations.sort() #정렬한 후 max_referen..

문제 이해하기 인천 앞바다에는 등대와 등대 사이를 오가는 뱃길이 총 n-1개 있는 등대가 n개 있습니다. 윤성이는 전력을 아끼기 위해 일부 등대만 켜둘 계획입니다. 그러나 모든 뱃길이 안전하게 운항하기 위해서는 각 뱃길의 양쪽 끝에 적어도 하나의 등대가 켜져 있어야 합니다. 문제 해결 아디어 1. leaf 노드를 불을 꺼야 함으로 먼저 leaf노드를 찾습니다. 다음과 같이 더이상 dfs로 진입할 곳이 없다면 해당 노드는 leaf노드가 됩니다. def dfs(graph, node, visited, lighthouses): for next_node in graph[node]: if not visited[next_node]: dfs(graph, next_node, visited, lighthouses) 2. ..

문제 이해하기 N개의 주사위가 주어지고, 해당 주사위에는 6개의 면에 랜덤한 숫자들이 적혀있음 이 N개의 주사위 중 N/2를 A가 가져가고, 나머지를 B가 가져가고 이렇게 가져간 주사위 중 승률이 가장 높은 주사위를 반환해야함 문제 해결 방법 1. 주사위 선택을 어떻게 하냐에 따라서 결과 값이 달라지기 완전탐색을 진행해야 합니다. 파이썬에서는 combinations 함수를 통해서 주사위 조합을 구할 수 있습니다. combi = list(combinations(range(0, len(dice)), n)) 2. 내가 선택한 주사위에서 나올 수 있는 면들의 조합, 상대 방이 선택한 주사위에서 나올 수 있는 면들의 조합을 구해야 합니다. for my_dice in combi: enemy_dice = list(s..

문제 이해하기 주어진 그래프에서 임의로 삽입된 노드를 찾고, 막대 그래프가 몇 개인지, 도넛 그래프, 8자 그래프가 몇 개인지 찾는 문제였다.여기서 중요한 점은 그래프를 순회해서 모양을 판별하는 것이 아니라, 노드와 간선의 개수를 가지고 어떤 그래프인지 판별하는 것이다. 문제 해결 방법 설명하기 1. 먼저 어떤 정점이 임의로 삽입된 정점은 진출차선만 있는 노드라고 생각했다. 2. 당연히 원래 있던 그래프에서 임의로 정접을 삽입했다고 했으니 해당 정점은 강제로 이어진 것 따라서 진출차선만 있어야 함 3. 그 다음 dfs를 사용해서 그룹을 나눴고, 해당 그룹에는 몇 개의 노드와 엣지가 있는지 계산했다. 4. 모든 노드를 순회했다면, 그룹의 노드와 엣지 정보를 토대로 어떤 그래프가 있는지 판별했다. 코드 im..

문제 이해하기 시추관을 세로로 뚫었을 때 최대 몇 개의 오일을 뽑을 수 있을까를 묻는 문제였다. 아래 그림과 같이 7번으로 뚫었을 때는 총 9개의 오일을 뽑을 수 있는 것을 볼 수 있다 문제 해결 방법 설명하기 1. DFS알고리즘을 이용해 그룹을 나누기로 결정했다. 처음에는 최대 석유 개수를 기록하려고 했는데 아래 오른쪽 그림과 같은 상황에서는 원하는 답을 찾을 수 없기 때문에 그룹으로 나누었다.예를들면 6번 라인에서 굴착을 하면 [2, 1, 1, 12]만큼 오일을 얻을 수 있다는 것을 알기가 어려울 것 같았다. 2. 굴착을 했을 때 어떤 그룹들이 있는지를 저장했다. 아래 그림과 같은 경우에는 초록색 그룹이 3개나 발견됐는데 중복을 제거하는 코드가 필요하다. 3. 그 후 시추 1, 2, ~ 8까지 반복문..

Proxy 서버란 Proxy 서버는 클라이언트와 서버 사이에 중계 역할을 하는 서버입니다. 클라이언트가 서버에 접속할 때, 프록시 서버를 경유하여 연결됩니다. 이 과정에서 클라이언트의 주소는 프록시 서버의 주소로 대체되어, 서버는 클라이언트의 실제 IP 주소를 직접 알지 못합니다. 프록시 서버는 클라이언트 요청을 받아서 해당 요청을 서버에 전달하고, 서버의 응답을 클라이언트에게 전달하는 역할을 합니다. 이를 통해 클라이언트의 익명성을 보호하거나, 캐시를 이용하여 네트워크 성능을 향상시키는 등의 기능을 수행할 수 있습니다. Redirect란 Redirect는 클라이언트가 요청한 리소스가 다른 위치에 있을 때, 클라이언트를 해당 위치로 다시 보내는 것을 말합니다. 일반적으로 HTTP 상태 코드 중 3xx 코..

gRPC란?gRPC를 이해하기 위해서는 먼저 RPC의 개념을 이해해야 합니다. RPC는 Remote Procedure Call의 약자로, 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게 하는 프로세스 간 통신 기술을 의미합니다. 일반적으로 프로세스는 자신의 주소 공간 안에 존재하는 함수만 호출하여 실행할 수 있지만, RPC를 통해 네트워크를 통해 자신과 다른 주소 공간에서 동작하는 프로세스의 함수를 실행할 수 있습니다. 동작 방식은 다음과 같습니다:클라이언트는 stub에 정의된 함수를 호출합니다. 이 stub 코드는 데이터 타입을 XDR 형식으로 변환하여 RPC 호출을 실행합니다.서버는 수신된 함수에 대한 처리를 *Stub을 통해 처리 완료 후 결과값을 XDR로 ..