프로그래밍 언어/Python

[Python] split 함수

benjykim 2021. 3. 2. 20:17
반응형

[Python] split 함수

URL: https://www.acmicpc.net/problem/1439

위의 문제를 풀고 나서 다른 사람의 풀이를 봤는데 split 함수를 너무 잘 사용해서 따로 기록하려 한다.

  • split 함수를 떠올리는 기본적인 상황

    >>> phone_number = '010-1234-5678'
    >>> phone_number.split('-')
    ['010', '1234', '5678']

    위와 같이 특정 구분자(-, , 등)를 기준으로 문자열을 잘라야 할 때(?) split 함수를 떠올렸었다.


위의 상황 말고 다른 상황에서도 split 함수를 유용하게 사용할 수 있다. 위의 백준 문제에선 아래와 같이 split 함수를 활용할 수 있다.

  • split 함수를 센스있게 활용하는 방법

    >>> s = '0001100'
    
    >>> s.split('0')
    ['', '', '', '11', '', '']
    
    >>> s.split('1')
    ['000', '', '00']

    위와 같이 연속적인 문자열에서도 split을 사용하여 연속된 문자열을 구할 수 있다. (단 위의 문제에서의 s 문자열은 01로만 이루어져 있다.)


결론

가끔 알고리즘을 풀다보면 기존에 알고 있던 함수를 잘 활용하지 못하는 경우가 있다. 이러한 함수들을 제대로 알면 보다 빠르고 쉽게 여러 알고리즘 문제들을 풀 수 있다.

반응형