목록전체 글 (125)
supergravity
목차 -인트로 -피보나치수열 -뒤에서 내려가기 : recursion -뒤에서 내려가는 방식을 효율적으로 만들기 : memo -앞에서 올라가기 : tublatioin -정리 시작 1.다이나믹 프로그래밍이 뭐임? 다이나믹 프로그래밍은 계산 결과를 저장해 두었다가, 필요할 때 사용하는 알고리즘 기법입니다. 우리는 다이나믹 프로그래밍 기법과 비슷한 행동을 초등학교 때부터 했습니다. 초등학교 때 했던 3 자릿수 곱셈에 대해서 생각해봅시다. 머리가 좋으신 분들은 이를 암산하여 계산하겠지만, 대부분의 우리는 그렇지 못했습니다. 그래서 학교에서는 곱할 두 수를 이면지에 작성하고, 한 자리씩 계산하여 마지막에 결과를 취합하는 방법을 사용하였습니다. 이 방법은 메모지에 결과를 저장하였다 사용한다는 점에서 다이내믹 프로그래..
목차 시작 좋은 알고리즘 알고리즘 성능 평가 문제를 접근하는 법 : 읽기 전부다. 짝퉁코드. 구현 출력결과 n 1 sum_1: 2 sum_2: 1 sum_3: 0 sum_4: 1 ---------------- n 1000 sum_1: 76 sum_2: 34320 sum_3: 1 sum_4: 1 ---------------- n 10000 sum_1: 662 sum_2: 3287307 sum_3: 1 sum_4: 2 ---------------- n 100000 sum_1: 7501 sum_2: 345793250 sum_3: 38 sum_4: 3 ---------------- 자 그럼 출력 결과를 분석해 봅시다. 함수 sum_1 sum_2 sum_3 sum_4 인풋 n에 대한 루프 1 중첩 2 중첩 0 중..
시작 이전까지는 시퀀시 자료구조에 대해서 알아보았습니다. 시퀀스는 메모리에 연속적으로 존재하는 자료구조 이며, 이러한 특성 때문에 슬라이싱과 인덱싱 기능 등이 있었습니다. 이번에 살펴볼 컬렉션 자료구조는 오브젝트를 여러 개 가지고 있지만, 시퀀시와 달리 데이터가 메모리에 연속적으로 존재하지 않는 컬렉션 자료구조에 대해서 알아볼 것입니다. 컬렉션 자료구조는 데이터가 연속적으로 저장되어 있지 않기 때문에, 시퀀스에서 기본적으로 제공하던 슬라이씽 기능이 없습니다. 그래서 기본 기능은 컬렉션 자료구조에 성분이 존재하는지 확인하는 in, 컬렉션에 담겨있는 오브잭트의 수를 세는 len 그리고 컬렉션의 데이터를 순회하는 기능 (loop)을 가지고 있습니다. 파이썬에서 기본적으로 제공되는 컬렉션 자료구조는 set과 d..
시작 이번 영상에서는 파이썬 SEQUENCE에 대해서 알아봅시다. SEQUENCE 타입은 거의 모든 문제에서 사용이 되는 데이터 타입이기에 확실히 익혀야 합니다. 특히 SEQUENCE 타입 중 문자열의 경우 프로그래머스 레벨 1, 2에서 자주 사용됩니다. 문자열의 기본 연산과 함수들을 이용한 빡구현 문제가 대부분입니다. 그러면 시작해 봅시다. SEQUENCE 타입 파이썬 SEQUENCE타입은 메모리에 연속적으로 저장되는 데이터 타입을 말합니다. 이처럼 연속적으로 메모리에 오브잭트들이 저장이 되는 특성을 효율적으로 다룰 수 있도록. 기본 기능을 제공하고 있습니다. 기본 기능은 아래와 같습니다. 시퀀스의 크기를 알 수 있는 len(seq) 시퀀스에 특정 오브젝트가 있는지 확인하는 obj in seq 시퀀스의..
__main__은 파이썬 인터프리터가 실행되는 스크립트의 위치를 나타내는 것입니다. 파이썬은 namespace를 통해 오브잭트와 name(변수)를 연결합니다. namespace는 딕셔너리 형태로 대부분 구현되어 있습니다. namespace 중 파이썬 인터프리터가 실행될 때 global namespace가 생성됩니다. global namespace는 globals()를 print 해보면 성분을 확인할 수 있습니다. 프린트해보면 키와 벨류로 구성된 딕셔너리 형태입니다. namespace의 키는 스크립트에 바로 작성할 수 있습니다. global namespace를 잘 보면 '__name__' : '__main__'가 저장되어 있습니다. namespace의 키는 스크립트에서 사용할수 있으니 print(__nam..
클레스 메서드, 스테틱 메서드 https://www.geeksforgeeks.org/class-method-vs-static-method-python/ Class method vs Static method in Python - GeeksforGeeks A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions. www.geeksforgeeks.org 특별 메서드 or 책 https://med..
0. 시작 namespace와 scope개념은 파이썬의 클래스의 작동원리를 이해하는데 꼭! 필요한 요소입니다. 초급자의 경우 다음으로 미뤄도 괜찮은 일이지만. 파이썬 고수가 되기 원한다면 중요한 개념이니 빡세게 배워 봅시다. 이 튜토리얼은 파이썬 공식문서를 쉽게 설명하려고 노력했습니다. 그러면 시작해 봅시다. 1. namespace 1.1 정의 파이썬 공식문서에서 namespace의 정의를 찾아보면 "name 집합에서 object집합으로 가는 함수"로 정의되어 있습니다. 이게 도대체 무슨 말일까요? 파이썬에서 name은 변수를 말하고 object는 메모리에 올려진 데이터 또는 코드를 말합니다. 그래서 name에서 object로 가는 함수는 변수와 데이터를 연결한다로 해석할 수 있습니다. 컴퓨터 공학적인 ..
표면적인 차이점 : class attributes vs instance attributes 표면적인 차이점을 관찰하기 위해 예를 들어 봅시다. class TestClass(): class_att = 0 def __init__(self, i): self.i = i one = TestClass(1) two = TestClass(2) 클래스를 먼저 정의를 하고 인스턴스 원, 투를 생성합니다. 생성된 원, 투는 "."을 이용하여 attribute에 접근할 수 있습니다. 또한 클래스에서 정의한 class_att에도 접근할 수 있습니다. 이 예에서 i는 instance attribute라고 합니다. 클래스 정의 시 정의한 class_att의 경우에는 class attribute라고 합니다. 신기한 점은 class ..