전체 글 171

백준 2501 python

input_int, key = map(int, input().split()) result = [] for i in range(1, input_int+1): if input_int % i == 0: result.append(i) if len(result) > key - 1: print(result[key - 1]) else: print(0) 코드 결과는 메모리가 더 작지만, 시간이 4ms 더 길게 나왔습니다. 아래 분의 코드를 사용하면 시간이 44ms로 더 작습니다. https://computer-science-student.tistory.com/574 [파이썬, Python] 백준 2501번 : 약수 구하기 백준 2501번 : 약수 구하기 (문제 바로가기) 내 코드 N, K = map(int, input..

DFS 와 BFS

DFS는 깊이탐색알고리즘으로 한개의 노드에 연결된 것중 가장 깊게 들어가는 탬색 알고리즘입니다. 오류 찾기가 쉽습니다. 한마디로 한놈만 계속 파보는 문제로 재귀함수를 보편적으로 사용합니다. BFS는 너비탐색알고리즘으로 한개의 노드에 연결된 모든 노드를 한번씩 다 확인하는 알고리즘 입니다. 시간복잡도가 DFS에 비해 낮습니다. 기본적으로 queue와 linkedlist를 사용합니다.(순서 중요)

cs/cs지식 2023.06.27

Merge Sorted Array python

class Solution: def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None: """ Do not return anything, modify nums1 in-place instead. """ n_num1 = [] n_num2 = [] for i in nums1[:m]: n_num1.append(i) for j in nums2: n_num1.append(j) s_list = sorted(n_num1 + n_num2) for x in range(n+m): nums1[x] = s_list[x] 정해진 m,n까지 자르고 그 함수를 합친 후 정렬하는 문제입니다. 더 간단히 하신 분들도 있으니 다른 분들것도 참조하세요.