본문 바로가기

IT 차곡차곡/Python

(13)
[백준/파이썬] 17413번: 단어 뒤집기 2 (Python) 문제 https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 풀이 - 구현, 문자열 최근 정규표현식을 배워 정규표현식으로 문제를 풀었다. 로 이루어진 문자열과 그 이외의 문자열을 나누었다. |[a-zA-Z0-9 ] 는 또는 대소문자or숫자or공백으로 이루어진 문자를 매치시킨다. findall을 이용해 tag를 검색하면 ['', 't', 'a', 'g', ''] 형태로 추출이 된다. 반복을 통해 인 경우, 역순 없이 결과..
[Python] 정규표현식5 - 컴파일 옵션 (DOTALL, IGNORECASE, MULTILINE) 정규표현식 - 컴파일 옵션 re.DOTALL, re.S : .(메타문자)가 \n을 포함한 모든 한 문자와 일치하는지 검사 import re pat1 = re.compile('a.b') pat2 = re.compile('a.b', re.DOTALL) print(pat1.match("a\nb")) print(pat2.match("a\nb")) 결과 None re.IGNORECASE, re.I : 대소문자를 무시하고 일치하는지 검사 pat = re.compile("yes", re.IGNORECASE) print(pat.match("yes")) print(pat.match("Yes")) print(pat.match("yES")) print(pat.match("YES")) 결과 re.MULTILINE, re.M ..
[Python] 정규표현식4 - match 객체의 메서드 match객체의 메서드 group() : 매치된 문자열을 돌려준다. start() : 매치된 문자열의 시작 위치를 돌려준다. end() : 매치된 문자열의 끝 위치를 돌려준다. span() : 매치된 문자열의 (시작, 끝)에 해당하는 튜플을 돌려준다. import re pat = re.compile('file[0-9]') obj1 = pat.match('file0 filex file1 file5 file9 file!') print('객체 모양: ',obj1) print("group() :", obj1.group()) print("start() :", obj1.start()) print("end() :", obj1.end()) print("span() :", obj1.span()) 결과 객체 모양: gro..
[Python] 정규표현식3 - Dot(.), 반복(*, +, {m,n}) 정규표현식 Dot(.) 줄바꿈 문자인 \n (Enter)을 제외한 모든 문자와 매치됨을 의미한다. a.b : a와 b사이에 어떤 문자가 들어와도 매치된다 import re pat = re.compile("a.b") print(pat.match('a3b')) # 일치 print(pat.match('aAb')) # 일치 print(pat.match('a b')) # 일치 print(pat.match('a\tb')) # 일치 print(pat.match('a@b')) # 일치 print(pat.match('abc')) # 불일치(a로 시작해서 b로 끝나지 않음) print("-------------------------------") # 문자 ' .' 을 찾을 때 pat1 = re.compile("a[.]b"..
[Python] 정규표현식2 - 문자열 매치 [ ] 문자 클래스 [ ] 문자 클래스로 만들진 정규식은 "[ ] 사이의 문자들과 매치" 라는 의미를 갖는다. [ ] 안에는 어떤 문자도 들어갈 수 있다. [abc] : a, b, c중 한 개의 문자와 매치 예제1 import re pat = re.compile('[abc]') # match : 문자열의 처음부터 일치하는지 확인 print(pat.match('a')) # 일치 print(pat.match('before')) # 일치 print(pat.match('dude')) # 불일치 결과 None 예제2 # ['file1', 'file3', 'file5', 'file7' ] pat2 = re.compile('file[1357]') print(pat2.match('file1')) # 일치 print(pat2...
[Python] 정규표현식 1 정규 표현식 복잡한 문자열을 처리할 때 사용하는 기법이다. 정규 표현식은 줄여서 정규식이라고도 한다. 파이썬의 정규표현식을 사용하는 방법 1. 정규표현식 모듈 불러오기 import re 2. 정규표현식 패턴 생성하기 pattern = re.compile('패턴') 3. 패턴으로 문자열을 검색(확인) 3-1. 문자열의 처음부터 일치하는지 확인 pattern.match('문자열') 3-2. 문자열의 전체의 일부 일치하는지 확인 pattern.search('문자열') 3-3. 문자열의 전체에서 일치하는지 확인 후 모두를 목록(배열)화 pattern.findall('문자열') import re # 영어 소문자가 최소 1번이상 나열되는 패턴 pat = re.compile("[a-z]+") match : 처음부터 ..
[Python] 문자열 거꾸로 출력하기 파이썬 문자열 거꾸로 출력하기 1. 반복문 기존 문자열에서 문자를 차례대로 가져와 역순으로 담아준다. str1 = 'abcde' str1_reverse = '' for char in str1: str1_reverse = char + str1_reverse print(str1_reverse)# edcba 2. reverse 파이썬에서 제공하는 reverse() 함수를 이용한다. str1 = 'abcde' # 문자열을 리스트로 치환 str1_list = list(str1)# ['a','b','c','d','e'] # 문자열 리스트를 역순으로 바꾼다 str1_list.reverse()# ['e','d','c','b','a'] print(''.join(str1_list))# edcba 3. [::-1] 문자열 ..
[Python] 파이썬 문자, 아스키코드로 변환 (chr, ord) 문자와 아스키코드 변환 파이썬에서 문자와 아스키코드를 각각 변환할 때, chr() 과 ord() 함수를 사용 할 수 있다. chr() : 아스키코드를 문자로 반환 해 준다. ord() : 문자를 아스키코드로 반환 해 준다. chr(숫자) chr(65)# A chr(100)# d chr(75)# K ord(문자) ord('A')# 65 ord('d')# 100