728x90 Algorithm53 [이코테] 1로 만들기 / 파이썬 / python / 다이나믹 프로그래밍 👩🏻💻 Code 🐥 풀이 보텀업 방식으로 풀이 Algorithm/이코테 2021. 1. 27. [파이썬] '다이나믹 프로그래밍' 개념 및 예제 다이나믹 프로그래밍 => 한번 계산한 문제는 다시 계산 X !! (중복 줄이기) 언제 사용? 1. 큰 문제를 작은 문제로 나눌 수 있을 때 2. 작은 문제에서 구한 정답은 그것을 포함하는 큰 문제에서도 동일 다이나믹 프로그래밍과 분할 정복과의 차이점: 분할은 하지만, 서로 영향을 끼친다 (중복이 있음) ex) 피보나치 수열을 재귀적으로 처리하면 n이 커질수록 수행 시간 너무 커짐. # (재귀) 피보나치 def fibo(X): if x==1 or x==2: return 1 return fibo(x-1)+fibo(x-2) -> 탑다운 (큰 문제 해결을 위해 작은 문제 부름) 한번 구한 결과는 저장해두었다가 그대로 불러오자 ( 메모이제이션 기법 => 캐싱 ) #(재귀-메모이제이션) 피보나치 d= [0]*100.. Algorithm/이론 2021. 1. 6. [파이썬] '정렬' 개념 및 예제 이것이 취업을 위한 코딩 테스트다 with 파이썬 강의 참고 1. 선택 정렬 O(N^2) 현재 범위 내에서 가장 작은 데이터 선택해서 맨 앞의 데이터와 변경. (범위 : 앞으로 데이터를 보내면서 남은 만큼) ->제일 작은거 맨앞으로 보내고, 남은 것 중 작은거 앞에서 두번째로 보내고, 남은 것 중 작은거 앞에서 3번째로 .. * 마지막 경우는 처리 안해도 됨. array= [7,5,9,0,3,1,6,2,4,8] for i in range(len(array)): min=i #가장 작은 원소 인덱스 for j in rnage(i+1 , len(array)): if array[min] > array[j]: min=j array[i],array[min] = array[min], array[i] # swap # .. Algorithm/이론 2021. 1. 6. [파이썬] 'DFS/BFS' 개념 및 예제 DFS - 깊이 우선 탐색 (스택 사용) 동작 과정) 1. start 노드 스택에 삽입 후 방문처리 2. 스택 최상단 노드에 방문하지 않은 인접 노드 있다면, 그 인접 노드를 스택에 넣고 방문처리. 방문하지 않은 인접 노드 없으면, 스택에서 최상단 노드 꺼냄 3. 2번 과정 더이상 수행할 수 없을 때까지 반복 예시) def dfs(graph, v , visited): visited[v] = True # 현재 노드 방문 처리 print(v, end =' ') for i in graph[v]: # 현재 노드와의 인접노드들 재귀적으로 dfs 처리 if not visited[v]: dfs(graph, i , visited) # 각 노드가 연결된 정보를 2차원 리스트로 표현 graph =[ [], [2,3,8],.. Algorithm/이론 2021. 1. 6. [파이썬] 아스키 코드 변환 - ord() , chr() when : 숫자와 알파벳간의 변환이 필요할 때 사용 ord() : 문자 -> 숫자 chr(): 숫자 -> 문자 # ord() print(ord('a')) # 97 print(ord('A')) # 65 # chr() print(chr('97')) # a print(chr('65')) # A *아스키 코드 a~z : 97~122 A~Z : 65~90 Algorithm/메모 노트 2021. 1. 3. 이전 1 2 3 4 5 다음 728x90