Python

    예외처리

    예외 처리 -특징 오류 회피하기 - pass 외부 데이터를 가져올 때는 예외처리를 해줘야 한다. - 버그 1. 버그 찾기 (어떤 상황에서 얼마나 잦은 빈도로 어떻게 발생하는가에 대해서 분석) 2. 버그 해결 3. 버그 재발 방지 1. try - except 문 (오류 예외 처리) 1.1 기본 구조 try: .... except : ..... 1.2 발생 오류만 포함 try: ..... except 발생 오류: 1.3 발생 오류와 메세지 변수를 포함 try: ..... except 발생 오류 as 오류 메세지 변수 : 복수 에러 처리 -> except (발생오류1, 발생오류2, ... ) as 오류 메세지 변수 : 4를 0으로 나누면 -> ZeroDivisionError가 발생 ex) try : 4/0 e..

    + 스태틱/인스턴스 함수와 메서드와 매직 메서드

    스태틱 변수 클래스를 활용할 때 필요한 공통변수로 활용 대개 변수지만 상수로 많이 활용됨. 호출 : 클래스명.변수명 (클래스변수.변수명도 가능은 하지만 대체로 클래스.변수명을 주로 사용) 스태틱 함수 클래스를 활용할 때 필요한 공통함수로 활용 호출: 클래스명.함수() 인스턴스 변수 클래스 변수가 생성될 때 클래스 변수 내 독립적으로 사용가능 생성자에서 생성하는 변수 호출 : 클래스변수.변수명() 인스턴스 함수 클래스 변수를 활용한 함수인 경우가 많음 호출 : 클래스변수.함수() 매직 메서드 매직 메서드 설명 예시 __init__ 클래스 변수(인스턴스(가 생성될 때 호출되는 함수 __init(self) __str__ 클래스 변수를 호출할 때 또는 문자열로 변환할 때 호출되는 함수(return 문자열) __..

    자료구조 7장 - 문자열 검색

    문자열 검색 이란 ? 어떤 문자열 안에 다른 문자열이 포함되어 있는지 검사하고, 만약 포함돼 있다면 어디에 위치하였는지 찾아내는 것 문자열에서 부분 문자열을 검색하는 방법은 브루트 포스법, KMP법, 보이어, 무어법 등이 있다. 브루트 포스법 O(N*M) N-문자열 M-패턴 문자열 검색 방식에서 가장 기초적이고 단순한 알고리즘 선형 검색을 단순하게 확장시킨 알고리즘 txt : 문자열 pat : 찾을 문자열 (패턴) * (pt=pt-pp+1) : txt배열에서 찾다가 패턴이 다르면 다음 인덱스로 돌아간다 ex) 3번째 부터 5번째까지 패턴이 같지만 6번째에 다르면 4번째 인덱스로 돌아감 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 def bf_match(txt,pat): pt..

    자료구조 6장 - 정렬 알고리즘

    자료구조 6장 - 정렬 알고리즘

    정렬 알고리즘 이란 ? 1. 안정적인 알고리즘 - 값이 같은 원소의 순서가 정렬 후에도 유지. 2. 안정적이지 않는 알고리즘 - 정렬 후에도 원래의 순서가 유지되는 보장이 없다. 1. 내부 정렬 : 정렬할 모든 데이터를 하나의 배열에 저장할 수 있는 경우에 사용하는 알고리즘 2. 외부 정렬 : 정렬할 모든 데이터를 하나의 배열에 저장할 수 없는 경우에 사용하는 알고리즘 정렬 알고리즘의 핵심 : 교환, 선택, 삽입 시간복잡도 속도 : O(1) > O(logN) > O(N) > O(NlogN) > O(N2) > O(2N) > O(N!) 1. 버블 정렬 버블 정렬은 이웃한 두 원소를 비교하여 필요에 따라 교환을 반복하는 알고리즘 비교 , 교환하는 과정을 pass 라고 한다. 1 2 3 4 5 6 def bub..

    브루트 포스 practice 03_ 덩치

    백준 7568번 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 1. 문제 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들..