SSAFY/Python문법 정리

[Python] 형변환(atoi, itoa) 및 패턴 매칭

황성안 2021. 2. 19. 21:19
728x90

atoi = String to Integer = 문자열을 숫자로 변환하는 녀석

 입력을 받을때 int() 형을 붙이지 않고 input() 만 하면 숫자라도 바로 문자열로 변경됩니다.

ex ) str = input()

 이렇게 하면 숫자를 넣더라도 문자열로 자동 변환됨.

(문자와 숫자 동시 입력 가능)

 

itoa = Integer to String = 숫자를 문자열로 변환하는 녀석

 입력을 받을때 int()를 붙여주면 된다. 

ex) num = int(input())

 고로면 이때 정수만 입력가능 단, 숫자만 입력가능

 

추가로 정수를 문자열로 받고싶을땐?  str() 을 사용하면됩니다.

ex) str(num)

 이렇게 하시면 위에서는 정수로 받았지만 현재는 문자열로 됩니다.

 

패턴 매칭

 브루트포스(BruteForce, 완전탐색) - "모든 경우의 수를 탐색하여 결과를 도출하는 기법"

- 말그대로 모든 경우의 수를 다 대입하기때문에 비효율적이나 정확합니다.

1
2
3
4
5
6
7
import itertools #순열에 대한 모든 경우의 수를 함수로 구할수있다.
 
iterable = [1, 2, 3]
# itertools.permutations() 가 바로 !!
result = itertools.permutations(iterable)
for permutation in result:
    print(permutation)
 
cs

관련 문제 ) 4846. 문자열 비교

 

KMP(Knuth,Morris,Pratt) - 효율적인 알고리즘.

- 브루트포스와 조금 다르게 찾고자하는 녀석의 패턴을 찾아내서 좀더 효율적으로 결과를 도출합니다.

블로그에 글을적자고하니.. 

devbull.xyz/python-kmp-algorijeumeuro-munjayeol-cajgi/ 이분의 글을 참고바랍니다.. 굉장히 잘 서술해놓으신..

 

[Python] KMP 알고리즘으로 문자열 찾기

들어가면서 KMP(Knuth, Morris, Pratt) 알고리즘은 찾고자 하는 문자열(Pattern)을 주어진 문자열(Text)에서 빠르게 찾아내는 방법 중 하나입니다. KMP의 강력함을 알기 위해서 먼저 가장 쉽게 문자열 탐색

devbull.xyz

 

그 외

보이어무어

카프라빈 이있으나.. 배외나가며 추가하도록하겠습니다.

728x90

'SSAFY > Python문법 정리' 카테고리의 다른 글

[Python] 스택 2  (0) 2021.02.24
[Python] 스택  (0) 2021.02.23
[Python] 이진 탐색(feat. [SWEA]4839.이진탐색)  (0) 2021.02.17
[Python] 순차 검색  (0) 2021.02.16
[Python] 2차원 배열 과 부분집합  (0) 2021.02.15