1.정렬
-
sort
- list.sort() = 문자열, 숫자 배열을 오름차순으로 정렬
- list.sort(reverse=True) = 내림차순 정렬
- a = sorted(list) = list는 그대로 두고 a 에 list를 오름차순 정렬
- a = sorted(list, reverse=True) = 내림차순
2. 클래스, 객체
-
Class 가 Person 이라면, 객체는 최영진, 박철수
-
파이썬에서 생성자 함수의 이름은 init 으로 고정
무조건 생성자 이름의 함수는 init
```
class Person:
def __init__(self):
print("hihihi", self)
-
생성자는 () , 객체 생성시 데이터를 넣거나 원하는 대로 실행할 수 있게함
3. 배열, 링크드리스트
- 배열
- a = [1, 2, 3, 4]
- 데이터 검색에 최적화
- 데이터 검색을 위해 N 반복문을 돌려야 해 시간적복합도가 커질 수 있음
- 링크드리스트
- a = [1], [2], [3], [4]
- 데이터의 삽입, 삭제에 최적화
- 공간의복합도를 소비하여 시간의복합도를 줄임
4. 스택, 큐
- 스택
- LIFO
- 맨 앞의 데이터를 뽑음, 맨 앞의 데이터를 삽입
- 큐
- FIFO
- 맨 뒤에 데이터를 삽입, 맨 앞의 데이터를 뽑음
5. 재귀함수
def factorial(n):
if n == 1:
return 1
return n * factorial(n-1)
이걸로 설명 끝 / 주의 : 무한반복을 주의
6. 공부
- 자료구조, 알고리즘은 기본적 이해를 본다.
- 코딩테스트를 위한 공부로 나중에도 해야하지만 지금 이해하며 공부해 놓음으로 앞으로 코딩 공부에 도움이 될 것이다.
- 알고리즘적으로 문제를 풀 때 머리로 생각하는 것보다 직접 그리면서 하는 것이 정말 큰 도움이 된다.
- 문제를 해결했더라도 다른 방법이 있을 수 있지 않을까?? 라는 생각을 항상 품는 것이 발전하는데 더 도움이 될 것 같다.
- 너무 어려워서 심신이 지치지만 이 순간들이 도움이 될것이라 믿는다.
훗날 큰 도움을 줄 알고리즘들...!
지금은 힘들겠지만 화이팅입니다
한주간 정말 너무 고생많으셨어요