a = [1,23,6,4,3,2,67,7,2,3,5]
a_set = set(a)
print(a_set) # {1, 2, 3, 4, 67, 6, 7, 5, 23} 중복이 제거된다.
a_set & b_set # 교집합
a_set | b_set # 합집합
a_set - b_set # 차집합
...
try{
...
}
catch{
...
}
...
try:
...
except:
...
map(func, list) # list각 객체를 func함수 반복
(x) => x + 10
lambda x: x + 10
a = [1,2,3,4,5,6]
print(list(filter(lambda x: x%2, a))) # [1, 3, 5] True인 값만 반환
array1 = [1,2,3,4,5]
linked_list1 = [1] -> [2] -> [3] -> [4] -> [5]
array는 탐색에 O(1), 수정에 O(N)이 걸리고
linked list는 탐색에 O(N), 수정에 O(1)이 걸린다.
경우 | Array | LinkedList |
---|---|---|
특정원소 조회 | O(1) | O(N) |
중간에 삽입 삭제 | O(N) | O(1) |
데이터 추가 | 데이터 추가 시 모든 공간이 다 차버렸다면 새로운 메모리 공간을 할당받아야함 | 모든 공간이 다 찼어도 맨 뒤의 노드만 동적으로 추가 |
정리 | 데이터 접근이 빈번하면 Array사용 | 삽입 삭제가 빈번하면 LinkedList 사용 |
파이썬의 list는 동적 배일을 사용해 배열의 길이가 늘어나도 O(1)의 시간복잡도가 걸리도록 설계되어 있다.
따라서 파이썬의 배열은 Array로 구현되어있지만, LinkedList로도 사용 가능한 효율적인 자료구조다.
백준 1158 참고.
맨날 말로만 듣던 재귀 함수
자기 자신을 반복해서 호출하는 함수
def count_down(num):
if num < 0:
return
print(num)
count_down(num-1)
Domain Name System
간단하게 말해 영문/한글로 된 주소를 IP네트워크에서 찾아갈 수 있는 IP로 변환해 주는 시스템이다.
오늘 개기월식이라던데 집에서 보이지 않는다... 껄껄
좀있다 산책하러 나갔을때도 계속 되고 있으면 볼 수 있겠네~!
알고리즘은 몹시 어렵다... 수학적 사고를 해야하는데 머리가 굳은건지... 계속해서 훈련하다보면 더 좋아질거라 믿고 어려워도 꾸준히 하는 습관을 만들도록 노력해야겠다.
개기월식 슬랙에 사진 올라와있는거 한번 봐보세요!! 짱이였는데 잘 못보셨다니 아쉽네요 ㅎㅎ
알고리즘은 친구처럼 항상 옆에끼고 계속해서 관심을 줘야 조금씩 늘더라구요
화이팅입니다!