반응형
[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
문자열은0
과1
로만 이루어져 있다.)
결론
가끔 알고리즘을 풀다보면 기존에 알고 있던 함수를 잘 활용하지 못하는 경우가 있다. 이러한 함수들을 제대로 알면 보다 빠르고 쉽게 여러 알고리즘 문제들을 풀 수 있다.
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Python] GIL(Global Interpreter Lock) 정리 (0) | 2021.02.28 |
---|---|
[Python] generator(제너레이터) 정리 (0) | 2021.02.24 |
[Python] bisect (이진 탐색) (0) | 2021.02.04 |
[Python] heapq (최소힙, 최대힙) (0) | 2021.02.03 |
[Python] permutations & combinations (순열과 조합) (0) | 2021.02.02 |