일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 격파르타 장점
- 해커랭크
- Recursion: Davis' Staircase
- Algorithm
- Find the nearest clone
- hackerrank
- 코딩테스트
- BFS: Shortest Reach in a Graph
- 격파르타 합격후기
- python
- Special String Again
- programmers
- candies
- Reverse Shuffle Merge
- 매칭점수
- 피보나치 함수
- Roads and Libraries
- 파이썬
- [sqld]자격증합격
- Common Child
- 머신러닝
- Max Array Sum
- 격파르타 후기
- DFS: Connected Cell in a Grid
- 구슬탈출2
- Interview Preparation Kit
- 알고리즘
- 프로그래머스
- 야근지수
- 백준
- Today
- Total
목록전체 글 (77)
Archive
1. Lex사용하기- Window환경, C언어를 사용해 lexical analyzer(어휘분석기)를 구현하자.- Lex 프로그램 결과로 만들어내는 파일의 이름은 'lex.yy.c'가 된다.- 명령어> flex lexer.l> gcc lex.yy.c -lfl> ./a.out sample1.cl- Lex파일 구성요소# 첫 번째는 선언(declaration)이나 정의(definition)가 포함된다.# 두 번째는 각 프로그램이 수행하는 일에 대한 규칙(translation rule)을 정의한다.# 세 번째는 보조 프로시저(auxilary procedure) 또는 지원 프로그램(supporting routines)를 담는다.# 꼭 필요한 부분은 두 번째 부분이고, 첫 번째와 세 번째는 생략이 가능하다.# 각 부..
1. 접근 방법- 일반적인 통계모형을 만들 때는 수치형 데이터를 사용한다.- 텍스트를 수치형 데이터로 간주해 통계분석 모형을 수립하고 테스트하자.- 텍스트 데이터를 구조화하기# 문자(letter), 형태소(morpheme), 단어(word), 문장(sentence), 문서(document) 등의 hierarchical 질서를 갖는 텍스트를 matrix 형태의 데이터로 개념화하기# token기반으로 topic이나 sentiment를 추정하는 기법 2. 텍스트 데이터의 구조- 텍스트 데이터는 hierarchical 질서를 갖는 데이터로 파닥한다.- corpus(말뭉치) : 분석을 위해 수집된 문서들의 집합- document(문서) : corpus를 구성한다.# 텍스트 데이터 분석을 하기 위해 100개의 논문..
1. 비공개 멤버- 클래스의 상세한 구조에 관해 몰라도 클래스에 포함된 기능을 이용할 수 있으면 된다.- 객체지향에서는 '캡슐화'라는 은폐 기능이 있다. - 파이썬에서는 메서드 이름이나 변수 이름이 '_'로 시작되는 것은 '비공개 멤버'로 정의하고 클래스를 이용하는 사람은 이 비공개 멤버에 접근할 수 없다는 규칙이 있다.- 멤버 : 클래스 안에 정의하는 메서드나 변수- 실제로는 클래스 이용자도 언더바로 시작되는 이름의 멤버를 조작할 수 있다.- 맹글링 : 멤버 앞에 '__' 언더바를 2번 붙인다. 멤버 이름이 '_클래스명__요소명'으로 치환된다.(바로 '인스턴스.__멤버'로 접근하면 오류가 발생)12345678910111213141516class Game: def __goal(self): print("비..
1. 상속- 이미 정의된 클래스를 기반으로 새로운 요소를 추가해서 클래스를 다시 정의하는 것을 말한다.- 이미 있던 클래스를 '슈퍼클래스', 새로 정의한 클래스를 '서브 클래스'라고 부른다.- 서브 클래스는 슈퍼 클래스가 갖고 있던 기능을 그대로 포함하므로 서브 클래스를 정의할 때 슈퍼 클래스와 서브 클래스의 차이만 다시 정의하면 된다. 2. 클래스를 상속하는 방법 class 서브클래스 이름 ( 슈퍼클래스 이름) :서브 클래스 정의- 클래스 이름 뒤에 슈퍼클래스의 이름을 쓰자.12345678910111213141516171819202122232425262728293031323334class Car: ''' 기본적인 기능을 갖춘 자동차를 나타내는 클래스 ''' def __init()__(self, owne..
1. 객체지향- 하나의 객체(오브젝트) 안에 여러 가지 기능을 가진 데이터와 메서드(함수)가 들어 있다.- 가장 먼저 클래스를 선언하자.- 그리고 함수와 변수를 클래스 안에서 정의하자.- 메서드(method)는 def를 사용해 선언한다.- 클래스 안에 있는 메서드를 정의할 때 첫 번째 인수로 반드시 self를 지정해야 한다.- 변수를 속성(Property)라 부른다. 2. 클래스로 오브젝트를 생성한다1234567# Human이라는 클래스를 기초로 하여 오브젝트를 생성한다. hum = Human() # Human 클래스 안에 정의한 메서드를 호출한다.hum.take("banana")hum.eat()cs- 객체지향에서 클래스를 기반으로 생성한 오브젝트를 '인스턴스'라고 부른다.- 하나의 클래스를 정의하면 인..
1. 데코레이터(Decorator)- 함수에 부가 기능을 추가할 수 있다.- 데코레이터를 정의할 때 함수 오브젝트를 반환하도록 정의해야 한다. 따라서 데코레이터를 정의할 때 함수A안에 함수B를 정의하고 함수 B의 오브젝트를 반환하도록 구현해야한다. 1234567891011121314151617181920212223# 실행 시간을 측정하는 데코레이터import timedef time_log(func): def wrapper(*args, **kwargs): #전처리 import datetime start = datetime.datettime.today() print("----start", func.__name__) #함수 실행 result = func(*args, **kwargs) #후처리 end = dat..
1. List Comprehensions- 복잡한 값을 가지는 리스트, 튜플. Dictionary를 손쉽게 생성하기 위한 표기 방법이다.[식 for . . in . .]1234567data = [i*2 for i in range(1, 6)]print(data)# [2, 4, 6, 8, 10] data = list(map(lambda x : x*2, range(1, 6)))print(data)# [2, 4, 6, 8, 10]cs123456789# [1, 3, 5, 7, 9]data = [(i*2 - 1) for i in range(1, 6) ]print(data) data = [i for i in range(1, 11, 2) ]print(data) data = [i for i in range(1, 11) ..
1. 정규표현- Regular Expressions : 패턴을 사용해 문자열을 표현하는 것을 뜻한다.- 문자열 검색에 강하다.- 파이썬에서 정규표현을 사용하려면 re모듈을 import해야한다.import re- 정규표현의 패턴을 기술할 때 일반 문자열이 아닌 r"..."과 같은 raw string기법을 사용하자. 정규표현식에서는 백슬래시(\)를 특수한 의미를 가지지만 일반 문자열을 다룰 때 사용되는 이스케이프 문자인 백슬래시(\)와 충돌하기 때문이다.- raw string을 사용하면 파이썬 문자열에서 사용되는 백슬래시를 무효화할 수 있다.pattern = r"...문자열..."12345# 영어 문장에서 숫자값 검색하는 import repat = r"\d+"str = "This pen is 100won."..