일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- geopandas
- 알고리즘
- 동명이인찾기
- 3d
- GCN
- 3d데이터
- pyvista
- GIS
- MESH
- geojson
- STL
- 컨테이너
- 귀여운고래
- docker
- graph
- 그리드분할
- 도커
- 파이썬
- Python
- 좌표거리
- 지하철역좌표
- Set
- 데이터입수
- 패치분할
- GNN
- 도커 레이어
- 이미지빌드
- osmnx
- 폴더조사
- python최단거리
- Today
- Total
목록코린이/코딩 기초 & 알고리즘 공부 (22)
이것저것 기록
* 의 문제 04를 정리한 내용입니다. 1. 재귀함수를 사용한 팩토리얼 구하기 설명: 재귀함수를 사용하여 n! 팩토리얼 값을 출력한다. 예를 들어 n=9라면, 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 의 값을 구해야 한다. 주의 해야하는 포인트: 재귀함수 사용시, 반드시 종료 조건을 작성해야 한다. 재귀함수를 사용하면 매 호출 함수 관련 정보가 메모리에 계속 쌓이게 된다. 함수가 최종 return 값을 반환해야 스택이 비워지는데, 함수가 끝나지 않고 계속 계속 함수가 재귀적으로 호출됨으로써 함수의 깊이는 계속 깊어진다. 이 과정에서 계속 메모리가 쌓이게 되고 그래서 stack overflow가 일어난다. 2. 재귀함수 (recursive function) 재귀 함수란 어떤 함수에서 자..
* 의 문제 03를 정리한 내용입니다. 1. 동명이인 찾기 알고리즘 설명: 집합(set)을 사용하여 중복된 값을 찾는 문제이다. 입력으로는 n명의 이름이 있는 리스트가 들어가고, 이 중 중복되는 이름을 제외하고 unique 이름만 집합으로 반환해야한다. 주의 해야하는 포인트: 비교할 이름을 뽑은 다음에는 순서상 뒤에 이름들 하고만 비교하면 된다. 순서상 앞에 있는 이름들 하고는 비교할 필요가 없다. 리스트의 마지막 이름을 기준으로는 비교하지 않아도 된다. 마지막보다 한 번째 앞의 이름과 이미 비교가 끝났다. 같은 이름을 찾으면 결과(result) 집합에 해당 이름을 추가한다. 사용하는 함수: 함수 설명 len(s) 집합의 길이를 구함 add(x) 집합에 x라는 자료를 추가함 discard(x) 집합에 자..
* 의 문제 02를 정리한 내용입니다. 1. 최댓값을 찾는 알고리즘 1.1 실행 순서 리스트의 첫 번째 숫자를 최댓값으로 기억한다. 두 번째의 숫자와 첫 번째 숫자를 비교한다. 두 번째 숫자가 첫 번째 숫자보다 크다면, 두 번째 숫자를 최댓값으로 바꿔 기억한다. 세 번째 숫자 ~ 마지막 숫자까지 위를 반복한다. 마지막으로 기억된 숫자가 주어진 숫자 중 최댓값이다. 1.2 예제 코드 (최댓값 찾기) import random # 리스트 생성 (총 길이 100, 0~300사이의 랜덤 int로 구성) temp_list = [random.randint(0,300) for i in range(100)] def find_max(temp_list): max_num = temp_list[0] # 입력 리스트의 첫 번째 ..
1. O (빅 오) 표기법 알고리즘의 대략적인 성능을 표시하는 방법 입력 크기 n과 필요한 계산 횟수와의 관계에 주목하는 표현 방법 계산 복잡도는 특별한 언급이 없다면 시간 복잡도를 의미하는 것이지만 본래 계산 복잡도는 시간 복잡도(time complexity), 공간 복잡도(space complexity)로 두가지가 있음 시간 복잡도 (Time Complexity): 특정한 크기의 입력에 대해서 알고리즘이 소요하는 시간이 얼마나 되는가? 공간 복잡도 (Space Complexity): 특정한 크기의 입력에 대해서 알고리즘이 사용하는 컴퓨터 자원(메모리)이 얼마나 되는가? 2. O(n) & O(1) 0부터 n까지의 총 합을 구한다고 가정해보자. 두 가지 방법이 있다. 0+1+2+ ... + n 과 같이 ..
파이썬에는 문자열 값을 변수 이름으로 변환할 수 있는 방법 중 exec()이 있다. 나는 이 내장함수를 변수명을 굳이 assign해서 값을 할당하기에는 한번 쓰고 버려질(?) 변수에 사용하는 편이다. 또한 변수 특정 조건을 만족하는 변수명이 생성되었을 때 동적으로 함수를 적용하고 싶을 때 사용한다. 사용법은 간단하다. 임의로 작성한 다음 코드를 살펴보자. name_ls = ['Mat', 'David', 'Sam', 'Christina', 'Alex', 'Hiland', 'Maddy'] age_dict = {'Mat':10, 'David':15, 'Sam':16, 'Christina':20, 'Alex':17, 'Hiland':5, 'Maddy':9} logic_age = """ age = age_dict..