Eat Study Love

먹고 공부하고 사랑하라

SW 만학도/Python 28

Review 2 - Python의 기본 Module , Class

https://eglife.tistory.com/65 Review 1 - Python programming basics프로그래밍은 안 쓰다 보면 까먹는다. 더군다나 전공자가 아니면 정말 1~2주만 정신 놓고 있다가 복귀했을 때 굉장히 기초적인 코딩도 손에 잡히지 않는 것을 쉽게 체감할 수 있다. 그리하야 시eglife.tistory.com파이썬 두 번 째 Review 시간이다.이번엔 파이썬의 다양한 Data Structure 중 기본적인 내용을 Review 해보자. 1. String type(str) - 문자열, 즉 text를 뜻한다.- 파이썬은 어떤 value를 ' ' 또는 " "로 묶었을 때 묶어진 요 놈들을 String으로 인지한다.- String은 * int를 할 순 있는데 다른 연산은 strin..

SW 만학도/Python 2024.07.01

Review 1 - Python programming basics

프로그래밍은 안 쓰다 보면 까먹는다. 더군다나 전공자가 아니면 정말 1~2주만 정신 놓고 있다가 복귀했을 때 굉장히 기초적인 코딩도 손에 잡히지 않는 것을 쉽게 체감할 수 있다. 그리하야 시작된 Review 프로젝트 Review인 만큼 전반적으로 개념을 빠르게 복기하고, 실습에 시간을 좀 더 할애해보자! 1. Abstraction 우리는 코딩을 할 때, HW 구조를 알 필요가 없다. ex) 마우스 벤더, HDD용량, 컴퓨터 벤더 등.. 그 이유는 OS(widows, Linux, MacOS)라는 것이 HW와 SW를 이어주는 매개체 역할을 해주어 Interface 와 Implementation 영역을 나누어 주기 때문이다. 그러나 우리에겐 OS라는 것도 너무 Low Level의 영역이라 OS를 이해하고 코딩..

SW 만학도/Python 2024.07.01

13. Data Structures (Trees)

https://eglife.tistory.com/38 12. Data Structures ( Stacks & Queues ) https://eglife.tistory.com/30 11. Data Structures ( Arrays & Linked Lists ) 본격적인 자료구조에 대한 공부! Python에서 list를 겁~나게 다뤘는데, 사실 이 List는 고마운 친구였다는 것이다. 그 고마운 List의 내부구조 eglife.tistory.com 슬 복잡해지는 자료구조 지금껏 배웠던 자료구조는 Linear하다면 이제는 non-Linear한 Case도 슬슬 나온다. Tree의 정의 - Tree / Subtree의 Recursive한 구조이다. - Node = Vertex = 꼭지 - Root : Paret..

SW 만학도/Python 2024.03.25

12. Data Structures ( Stacks & Queues )

https://eglife.tistory.com/30 11. Data Structures ( Arrays & Linked Lists ) 본격적인 자료구조에 대한 공부! Python에서 list를 겁~나게 다뤘는데, 사실 이 List는 고마운 친구였다는 것이다. 그 고마운 List의 내부구조를 톺아보자 ㅠㅠ List가 [1,2,3,4,5] 만 있던 메모리 공간이 eglife.tistory.com Data의 또 다른 구조인 Stack 과 Queue에 대해 알아보는 시간! Stack - ex) 식판 쌓고 가져가기 --> Las it First out , 키보드에서 Back Space --> 마지막에 쓴 문자를 지운다. - ex) 프로그래밍에서 괄호를 쌓기 --> 괄호 열 때마다 Stack 쌓고 닫을 때마다 S..

SW 만학도/Python 2024.03.25

11. Data Structures ( Arrays & Linked Lists )

본격적인 자료구조에 대한 공부! Python에서 list를 겁~나게 다뤘는데, 사실 이 List는 고마운 친구였다는 것이다. 그 고마운 List의 내부구조를 톺아보자 ㅠㅠ List가 [1,2,3,4,5] 만 있던 메모리 공간이 있는데 중간에 insert, del 그리고 마지막칸에 메모리가 차 있는데 append를 어떻게 하는지에 대한 궁금증을 해소해야 한다! 별로 안 궁금한데 해소를 해야 한단다..ㅎ 어떤 상황에서 어떤 자료구조를 써야 DATA / MEMORY를 효율적으로 쓸 수 있는지를 알기 위하여 자료구조를 배운다. Arrays - 연속된 n개의 자료를 Memory box에 저장한 구조이다. ex) Python의 List - Array의 특징 - Fixed integer length(N) : Init..

SW 만학도/Python 2024.03.18

10 - 1 . Recursion으로 Sort 코드 + Merge Sort 구현해보기

참.. Sorting이라는 것이 원리를 설명으로 들을 때는 이해가 되는데 이걸 코드로 Implement 하는 게 되게 어렵다. 그리하여 Sort 코드를 직접 다시 한 번 쳐보기로 한다. 근데 이게 코드를 치면서 느끼는게, 한 번 코드가 눈에 익어버리니까 내가 뭔가 창의적으로 코드를 한다는 느낌보단 외워서 친다는 느낌이 더 든다 ㅋㅋ;;; 이러나 저러나 어떻게든 도움이 되겠지~ 라는 마인드로 그냥 공부해보자 # insertion sort lst1 = [1,-10,5,0,32,-100,99,-8,-7.7,3] lst2 = [-5,-4,-1,-3,4,0,19,1] ​ def inse(list) -> None : for i in range(1,len(list)): val = list[i] j = i-1 whil..

SW 만학도/Python 2024.03.18

10. Sorting Algorithms

지난 번 Linear / Binary Searching 외에도 코딩공부 시 중요한 알고리즘 중 하나인 Sorting에 대해 학습해봅시다. Sorting --> 말 그대로 내림 or 오름차순으로 list 안에 data를 정렬한다는 것이다. 총 4가지 Sorting을 배워봅시다. Insertion Sort - 제일 쉬운 버전의 Sorting이다. - Main Idea 1) 처음엔 비어있는 Empty list에서 시작한다. 2) Pile에서 Data들을 하나씩 가져와 크기순으로 Empty list에 하나씩 정렬시켜 저장한다. 3) 정렬된 새로운 list가 output으로 나오게 되는 구조 --> 메모리효율을 위해 in-Place로 이것을 진행하기도 한다. 4) 위의 3번의 경우, 단점은 원본이 보존되지 않는다..

SW 만학도/Python 2024.03.18

9-2 . Recursion으로 Binary Search의 여러가지 Case 코딩해보기

1) Binary Search 에서 List 는 이미 Sort 되어 있지만 찾고자 하는 Value가 Duplicate 되어 있을 때 - Middle을 찾았을 때 Term만 좀 While문으로 만져주면 될 거 같다. - Recursion으로도 구현할 수 있을 거 같긴 한데.. 일단 While문으로! Recursion을 이용해서도 해당 코드를 구현해보았다. 다소 조잡한 감이 있어도 코드는 잘 돌아가서 다행이다..ㅎㅎ 특이점으론, Recursion 함수를 잘 만들어 놓고 해당 함수를 binary_search에 넣었을 때 자꾸 무한루프를 돌면서 코드가 버벅거렸다. 이유를 찾아보니.. recursion함수를 binary_search에서 사용할 때에도 return을 이용해서 사용해야 하는데 그냥 함수만 Call해서..

SW 만학도/Python 2024.03.17

9-1 . Binary Search의 여러가지 Case 코딩해보기

1) Binary Search 에서 List 는 이미 Sort 되어 있지만 찾고자 하는 Value가 Duplicate 되어 있을 때 - Middle을 찾았을 때 Term만 좀 While문으로 만져주면 될 거 같다. - Recursion으로도 구현할 수 있을 거 같긴 한데.. 일단 While문으로! https://eglife.tistory.com/27 낄끼빠빠~ Recursion 구현글 첨부 9-2 . Recursion으로 Binary Search의 여러가지 Case 코딩해보기 1) Binary Search 에서 List 는 이미 Sort 되어 있지만 찾고자 하는 Value가 Duplicate 되어 있을 때 - Middle을 찾았을 때 Term만 좀 While문으로 만져주면 될 거 같다. - Recursi..

SW 만학도/Python 2024.03.17

9. Computational Complexity & Searching (Big O with Search/Sort in Python)

프로그램을 돌리는데 시간이 얼마나 소요될 지에 대한 공부이다. 일일히 모든 시간을 다 측정할 수 없으니 Programming에선 자잘한 거 빼고 큰 단위 N으로 Time Complexity를 계산한다. -ex) Linear_search / Selection_sort Linear_Search # Linear Search에서 Timex Complexity 계산해보기 ​ def linear_search(lst:list,value:int) -> int : for i in range(len(lst)): if lst[i] == value: return i return -1 ​ lst = [0,1,4,5,-1,6,100] print(linear_search(lst,9)) print(linear_search(lst,5..

SW 만학도/Python 2024.03.17