python: 입출력 - 알고리즘편
·
Language/python
1. input() 말고 sys.stdin.readline() 를 사용하자. 입출력 속도에서 많은 차이가 발생합니다. sys.stdin.readline() > raw_input() > input() input() 으로 코드를 제출할 시, 시간초과가 발생하지만, sys.stdin.readline() 으로 제출할 시 정답이 된다는 점입니다. 직접 실행해보면서 테스트 해보시길 바랍니다. a = [int(x) for x in input().split()] # a = [1, 2, 3, 4 ,5] import sys a = map(int, sys.stdin.readline()) # a = [1, 2, 3, 4, 5] import sys n = input() a = [sys.stdin.readline() for i ..
Python: _(언더바) - 알고리즘편
·
Language/python
python : _(언더바)의 기능 1. interpreter에서 마지막 값을 저장하고자 할때. 2. 값을 무시하고 싶을 때 3. 변수나 함수명에 특별한 의미를 부여하고자 할때. 4. 숫자 리터럴 값의 자리 수 구분을 위한 구분자로서 사용할때 a,_,c = 1,2,3 일 경우 a 에는 1, c 에는 3 이 저장되는 것을 알 수 있습니다. 여러개의 값을 무시하고 싶은 경우에는 a,*_,c 처럼 _ 앞에 * 를 사용하면 됩니다. 또한 값을 무시하는 _ 는 index 가 필요없는 for loop 문을 작성할 경우에 사용할 수 있습니다. a,_,c=1,2,3 print(a,c) # 1,3 출력 for _ in range(10): print("print") # 인덱스에 상관없는 경우 _(언더바 사용) 어떤 것에 ..
python - 정규식을 이용한 문자열 검색
·
Language/python
파이썬은 정규 표현식을 지원하기 위해 re(regular expression의 약어) 모듈을 제공한다. re 모듈은 파이썬을 설치할 때 자동으로 설치되는 기본 라이브러리로 사용 방법은 다음과 같다. >>> import re >>> p = re.compile('ab*') re.compile을 사용하여 정규 표현식(위 예에서는 ab*)을 컴파일한다. re.compile의 결과로 돌려주는 객체 p(컴파일된 패턴 객체)를 사용하여 그 이후의 작업을 수행한다. Method 목적 match() 문자열의 처음부터 정규식과 매치되는지 조사한다. search() 문자열 전체를 검색하여 정규식과 매치되는지 조사한다. findall() 정규식과 매치되는 모든 문자열(substring)을 리스트로 돌려준다. finditer(..
python - regex(정규표현식)
·
Language/python
정규 표현식에서 사용하는 메타 문자(meta characters)에는 다음과 같은 것이 있다. 메타 문자란 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자를 말한다. . ^ $ * + ? { } [ ] \ | ( ) 정규 표현식에 위 메타 문자를 사용하면 특별한 의미를 갖게 된다. 문자 클래스 [] 문자 클래스로 만들어진 정규식은 "[ ] 사이의 문자들과 매치"라는 의미를 갖는다. 정규 표현식이 [abc]라면 이 표현식의 의미는 "a, b, c 중 한 개의 문자와 매치"를 뜻한다. 이해를 돕기 위해 문자열 "a", "before", "dude"가 정규식 [abc]와 어떻게 매치되는지 살펴보자. "a"는 정규식과 일치하는 문자인 "a"가 있으므로 매치 "before"는 정규식과 일치하는 문자인..
python - string(2)
·
Language/python
문자열 관련 함수들 count: 개수 >>> a = "hobby" >>> a.count('b') 2 find: 문자를 통해 인덱스 위치 >>> a = "Python is the best choice" >>> a.find('b') 14 >>> a.find('k') -1 index: 인덱스 위치 >>> a = "Life is too short" >>> a.index('t') 8 >>> a.index('k') Traceback (most recent call last): File "", line 1, in ValueError: substring not found join: 문자열 사이에 해당문자를 삽입 >>> ",".join('abcd') #abcd 문자열의 각각의 문자 사이에 ','를 삽입한다. 'a,b,c..
python - string(1)
·
Language/python
문자열(String)이란 문자, 단어 등으로 구성된 문자들의 집합을 의미한다 . 백슬래시(\)를 사용해서 작은따옴표(')와 큰따옴표(")를 문자열에 포함시키기 >>> food = 'Python\'s favorite food is perl' >>> say = "\"Python is very easy.\" he says." \n 문자열 안에서 줄을 바꿀 때 사용 \t 문자열 사이에 탭 간격을 줄 때 사용 \\ 문자 \를 그대로 표현할 때 사용 \' 작은따옴표(')를 그대로 표현할 때 사용 \" 큰따옴표(")를 그대로 표현할 때 사용 \r 캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동) \f 폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동) \a 벨 소리(출력할 때 PC 스피커에서 '삑' 소..
python - lambda
·
Language/python
람다 형식은 인공지능 분야나 AutoCAD라는 설계 프로그램에서 쓰이는 Lisp 언어에서 물려받았다고 하는데요, 함수를 딱 한 줄만으로 만들게 해주는 훌륭한 녀석입니다. 사용할 때는 아래와 같이 써주면 됩니다. 다음은 두 수를 더하는 함수입니다. def hap(x, y): return x + y >>> hap(10, 20) 30 이것을 람다 형식으로는 어떻게 표현할까요? lambda 인자 : 표현식 >>> (lambda x,y: x + y)(10, 20) 30 정말 유용한 함수입니다. lambda of map map(함수, 리스트) >>> list(map(lambda x: x ** 2, range(5))) # python 2 및 python 3 [0, 1, 4, 9, 16] lambda of filter..
python - 내장함수
·
Language/python
abs: abs(x)는 어떤 숫자를 입력받았을 때, 그 숫자의 절댓값을 돌려주는 함수이다. >>> abs(3) 3 >>> abs(-3) 3 >>> abs(-1.2) 1.2 chr: chr(i)는 아스키(ASCII) 코드 값을 입력받아 그 코드에 해당하는 문자를 출력하는 함수이다. >>> chr(97) 'a' >>> chr(48) '0' divmod: divmod(a, b)는 2개의 숫자를 입력으로 받는다. 그리고 a를 b로 나눈 몫과 나머지를 튜플 형태로 돌려주는 함수이다. >>> divmod(7, 3) (2, 1) >>> 7 // 3 2 >>> 7 % 3 1 enumerate: 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 돌려준다. >>> ..