일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- ksql
- 동적 차트
- k9s
- numpartitions
- mysql
- 파이썬
- spring boot
- CDC
- 윈도우
- airflow
- UI for kafka
- dbt_project
- 모바일
- proerty
- query history
- freshness
- 카프카
- 도커
- spark
- kafka
- 크롤링
- Java
- docker
- KubernetesPodOperator
- polars
- DBT
- Materializations
- 쿠버네티스
- Python
- bar cahrt
- Today
- Total
목록기타/알고리즘 (12)
데이터 엔지니어 이것저것

출발지 -> 도착지로 가는길에서 벽 하나로 길을 막을수 있는 좌표를 찍으시오. 상하좌우로만 움직이며, 좌측하단은 1,1로 시작한다. ------------ 해당문제를 어떤식으로 풀지 고민을 했다. 1. 입력값이 _, #, S, T 이니 1, 0, 출발지, 도착지 값을 구한다 (이때 출발, 도착지도 1로 표시) 2. 0과 1로 이루어진 2차원 배열로 BFS로 갈수있는 경우의 수를 구한다 3. 해당 값으로 경우의 수가 2이상부터 max값까지 모든 칸의 경우의 수를 구해서 하나씩 0으로 바꾸고 바꾸었을때 도착 불가능한 것만 체크 하는 식으로 하였다. 코드는 의식의 흐름대로 짜서 최적화 및 변수명 등 꼬여서,,,스파게티 소스 import copy import time from pprint import pprin..
def dfs(graph, v, visited): visited[v] = True # 방문체크 print(v, end=' ') # 방문한곳 출력, 한줄로 출력하기 위해 \n이 아닌 띄어쓰기 for i in graph[v]: # 그래프를 돌면서 if not visited[i]: # 만약 방문하지 않았다면 dfs(graph, i, visited) # 재귀함수 #graph 값 graph = [ [], [2,3,8], [1,7], [1,4,5], [3,5], [3,4], [7], [2,6,8], [1,7] ] visited = [False] * 9 # 방문여부를 전부다 False로 시작 dfs(graph, 1, visited) # 그래프, 시작할 위치, 방문여부 가장 기본적인 dfs 알고리즘이다.

import heapq def solution(scoville, K): answer = 0 heap = [] for i in scoville: heapq.heappush(heap, i) while True: if heap[0] >= K: return answer try: heapq.heappush(heap, heapq.heappop(heap) + (heapq.heappop(heap) * 2)) answer += 1 if heap[0] >= K: return answer except: return -1 여러곳에서 문제가 생겼지만 하나씩 해결했다. 1. heapq를 사용하지 않으니 효율성 검사에서 실패,,, 2. 바로 pass 하는경우 3. 멍청하게도 heap[0] >= K인것을 >로만 하여서 계속 실패,ㅡ..

def solution(citations): citations.sort() for i in range(len(citations)): if citations[i] >= len(citations) - i: return len(citations) - i return 0 테스트 케이스가 하나뿐이여서 힘들었지만 질문하기를 참고하여 생각을 바꾸니,,, 풀었습니다

def solution(numbers): answer = "".join(sorted("".join(map(str, numbers)),reverse=True)) return answer 기존에는 아무 생각없이 상위 소스코드로 풀었다 하지만 이렇게 한 경우,,, 자리수 다 자르고 해서 이상한 수,,, ex) [3,30,34,5,9] -> 9543330 이런식으로 나온다 def solution(numbers): numbers = list(map(str, numbers)) numbers.sort(key=lambda x: x * 3, reverse=True) return str(int(''.join(numbers))) 다른사람의 풀이를 가져왔다. 여기서 볼곳은 numbers.sort(key=lambda x: x ..

https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 �� programmers.co.kr

https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번� programmers.co.kr 전후 위치를 바꾼걸로 통, 불통이 되는데,,,, 정확한 원인은 아직 모르겠다 그리드 알고리즘,,, 추가적으로 공부해야할듯!