본문 바로가기

전체 글31

커스텀 정렬(파이썬) import functools def comparator(a,b): t1 = a+b t2 = b+a return (int(t1) > int(t2)) - (int(t1) < int(t2)) # t1이 크다면 1 // t2가 크다면 -1 // 같으면 0 def solution(numbers): n = [str(x) for x in numbers] #또는, n = list(map(str, numbers)) n = sorted(n, key=functools.cmp_to_key(comparator), reverse=True) answer = str(int(''.join(n))) # 0000의 경우에는 0으로 출력하려면 int하고 str으로 다시 변환해야 해요 return answer print(solution([.. 2022. 7. 2.
SQL Join 2022. 7. 2.
1이 될때까지. - 그리디 알고리즘.(n을 k로 나누거나, n을 1로빼는 연산만 가능할때 n이 1이 되는 최소 연산횟수.) - 다이나믹 알고리즘(x에서 1을 빼거나, 2나 3이나 5로 나누는 연산이 가능한 경우, x가 1이 되는 최소연산횟수.) - 위에서 d[i]에 d[i-1], d[i//2] ,... 등에 1을 더하는건 그 1을 뺴거나 2,3,5로 나누는 연산을 하는 횟수를 포함시킨다는 뜻. 2022. 7. 2.
DFS / BFS http://ejklike.github.io/2018/01/05/bfs-and-dfs.html Eunji Kim @ CAU - 파이썬을 사용한 그래프의 너비 우선 탐색과 깊이 우선 탐색 구현 아래와 같은 그래프가 있다고 가정하자. 노드 A에서 시작하여 그래프의 모든 노드를 방문하려면 어떻게 해야 할까? ejklike.github.io Python으로 DFS 구현하기 https://paper-ship.tistory.com/2 Python으로 DFS 구현하기 Python으로 DFS 구현하기 BFS에 이어 DFS(Depth First Search)를 파이썬으로 구현하는 방법이다. 2018/02/03 - [프로그래밍/알고리즘] - Python으로 BFS 구현하기 DFS는 깊이 우선 탐색이라는 뜻으로, 말 그대로.. 2022. 6. 29.