Eat Study Love

먹고 공부하고 사랑하라

분류 전체보기 185

2-1. Operators / Memory in C

https://eglife.tistory.com/32 2. Variables in C 아무리 봐도 불친절한 C.. 파이썬을 배우다가 와서 그런가 불편한 게 이만 저만이 아니다. 그래도 파이썬코드보다 처리속도도 빠르고, 디버깅에 유용하다니까 감내해야지 Review https://eglife.tistory. eglife.tistory.com 지난 시간에 이어 이번엔 C의 Operators를 좀 알아보자 Operators - Assignment ( A = B ) B쪽에 있는 걸 A에 넣는다. - 수학기호 계산 순서는 파이썬과 같다. #include "stdio.h" int main(void) { int x = 1; x = x + 1; x += 1; x++; // 위 3개는 같다 x = x - 1; x -= 1..

SW 만학도/C 2024.03.20

2. Variables in C

아무리 봐도 불친절한 C.. 파이썬을 배우다가 와서 그런가 불편한 게 이만 저만이 아니다. 그래도 파이썬코드보다 처리속도도 빠르고, 디버깅에 유용하다니까 감내해야지 Review https://eglife.tistory.com/31 1. Hello C !!! Sorry for late.. C 랑 C++도 구분 못하고 살아왔다. 둘이 그냥 같은 것인줄.. 그래도 이왕 코딩공부하기 시작한 거, C도 기초부터 차근차근 밟아보기로 한다. First C Program #include int main(void) { printf("Hello C\n"); return 0; eglife.tistory.com C의 Compiler == Python의 Interpreter C는 Compiler로 '번역'만 해주고, 바로 실행..

SW 만학도/C 2024.03.20

1. Hello C !!! Sorry for late..

C 랑 C++도 구분 못하고 살아왔다. 둘이 그냥 같은 것인줄.. 그래도 이왕 코딩공부하기 시작한 거, C도 기초부터 차근차근 밟아보기로 한다. First C Program #include int main(void) { printf("Hello C\n"); return 0; } - Comilation with gcc compiler! --> $gcc [source file name] -o [executable image file name] - 컴파일 과정에서 -o 는 다음의 object파일로 바꿔주세요~ 라는 코멘드 - 파일 실행과정에서 ./ --> 요건 이 폴더에 있는 파일을 실행시킬게요~ 라는 코멘드 C(Compiler) vs Python(Interpreter) - Python에서 파일을 실행 시, ..

SW 만학도/C 2024.03.19

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

8. Object-oriented Programming in Python

OOP가 뭘까? 굉장히 중요하다던데 내가 지금껏 정리한 Python은 Procedural Programming이다.(Module/Class 제외) Procedural Programming 이란? -->변수선언, 자료구조선언, 함수선언 등을 하고 이것들을 사용 OOP란? - A programming paradigm that relies on the concept of classes and objects - Class --> 청사진 Blueprint , Object --> Instance들 in class - ex) students.append("MARCUS") , students.clear() - 즉, Class 다루는 것! 좀 더 Module화 된 Programming을 하자 - Combine a gro..

SW 만학도/Python 2024.03.15