Python/개념
자료형
리스트 1. 선언, 입력 변수명 = [] or list() 변수명 = [데이터1, 데이터2, ...] 2. 읽기 변수명[인덱스번호] 3. 추가 변수명.append(데이터) 변수명.insert(인덱스번호, 데이터) 4. 삭제 변수명.remove(데이터) del 변수명[인덱스번호] 5. 수정 변수명[인덱스번호] = 수정할값 ▷ 관련 함수들 append(): 요소 추가 a = [1,2,3] a.append(4) a >> [1,2,3,4] sort() / sorted(): 리스트 정렬 sort, sorted 모두 key, reverse 매개변수를 갖고 있다. reverse에는 bool값을 넣고, 디폴트는 reverse=False(오름차순)이다. key에는 정렬을 목적으로 하는 함수를 넣을 수 있고, lambda..

파이썬의 self
클래스 붕어빵 틀 변수와 함수를 묶어서 하나의 새로운 객체(타입)으로 만드는 것 인스턴스 붕어빵 (슈붕파 손들어~) 붕어빵 틀에 반죽을 넣어 만들어진 붕어빵 class BusinessCard: def set_info(self,name,email,addr): self.name=name self.email=email self.addr=addr → set_info 메서드는 네 개의 인자를 받는데 name,email,addr은 사용자로부터 받은 데이터를 메서드로 전달할 때 사용되는 인자이다. 그렇다면 self는 무엇일까? 클래스 내부에 정의된 함수(메서드)의 첫번째 인자는 반드시 self여야 한다. class Foo: def func1(): print("func 1") def func2(self): print(..
기초100제 문법
역슬래시 출력 print("\\") : \ print("\"") : " print("\'") : ' print("\n") : 줄바꿈 print("\t") : 탭 구분자 split(): 문자열 사이 공백을 기준으로 자른다. split("구분자"): 구분자를 기준으로 자른다. split("구분자", maxsplit="분할횟수") // split(sep="구분자", maxsplit="분할횟수"): 구분자를 기준으로 분할횟수만큼만 자른다. 문자 변환 ord(문자): 하나의 문자를 받고 해당 문자에 해당하는 유니코드 정수를 반환 ex) ord('a') -> 97 chr(정수): 하나의 정수를 받고 해당 정수에 해당하는 유니코드 문자를 반환 ex) chr(97) -> 'a' if문 파이썬에서의 조건문은 if ~ e..
투 포인터
투포인터 알고리즘은 리스트에 순차적으로 접근해야 할 때 두개의 점 위치를 기록하면서 처리하는 알고리즘이다. 리스트에 담긴 데이터에 순차적으로 접근할 때 시작점과 끝점, 2개의 점으로 접근할 데이터의 범위를 표현할 수 있다. 특정한 합을 갖는 부분 연속 수열 찾기 투 포인터를 활용하여 다음의 알고리즘으로 문제를 해결할 수 있다. 시작점과 끝점이 첫번째 원소의 인덱스(0)을 가리키게 한다. 현재 부분합이 M과 같으면 count 한다. 현재 부분합이 M보다 작으면 end를 1 증가시킨다. 현재 부분합이 M보다 크거나 같으면 start를 1 증가시킨다. 모든 경우를 확인할 때까지 2~4번 과정을 반복한다. n = 5 # 데이터의 개수 m = 5 # 찾고자하는 부분합 data = [1,2,3,2,5] cnt = ..
파이썬 라이브러리
라이브러리 파이썬 라이브러리는 필요한 코드를 재사용하기 위해 필요할 때 언제든 호출할 수 있게끔 만들어진 클래스와 함수들의 모음이다. (=외장함수, 모듈) import math import math as d num = d.factorial(5) → 라이브러리의 함수를 사용하려면 라이브러리명.함수명으로 써야 한다. from math import func1, fun2, fun3 from math import * from math import factorial as f num = f(5) → 라이브러리 내 일부 함수만 불러와서 사용하고, 함수명만 쓰면 된다.
문자열
문자열 자르기 string[start:end:step] : start 인덱스부터 end-1 인덱스 내에서 step 간격으로 슬라이싱 string[:end] : 맨 처음부터 end-1, 즉 마지막에서 두번째 인덱스까지 슬라이싱 string[start:] : start 인덱스부터 문자열의 마지막까지 슬라이싱 string[start:end] : start 인덱스부터 end-1 까지 슬라이싱 start와 end는 문자열의 index를 의미한다. string[start:end]는 start를 포함하고, end를 포함하지 않는 문자열을 추출한다. step을 생략하면 기본적으로 1로 설정된다. my_str = "This is a substring tutorial..!" result = my_str[-5:] print..

파이썬의 클래스
https://wikidocs.net/28 05-1 클래스 초보 개발자들에게 클래스(class)는 넘기 힘든 장벽과도 같은 존재이다. 독자들 중에도 클래스라는 단어를 처음 접하는 이들도 있을 것이다. 그러면 도대체 클래스가 무엇인지 ... wikidocs.net 클래스는 왜 필요한가? c언어에는 클래스가 없고, 파이썬에는 있지만 클래스를 사용하지 않은 파이썬 프로그램들도 상당히 많다. 하지만 프로그램을 작성할 때 클래스를 적재적소에 사용하면 상당한 이익을 얻을 수 있다. 계산기 예제 계산기는 이전에 계산한 결과값을 항상 메모리 어딘가에 저장하고 있어야 한다. 기존 방식을 이용하여 계산기의 '더하기' 기능을 구현한 파이썬 코드는 다음과 같다. result = 0 def add(num): global res..