문자열 조작
- 문자열 조작
문자열을 원하는 대로 조작하는 연산
- 람다
함수 선언 없이 함수를 사용 가능하게 해줌
많이 쓸 시 가독성 떨어질 수 있음
- 정규식
정규 표현식은 문자열에 나타는 특정 문자 조합과 대응시키기 위해 사용되는 패턴
문자열에서 필터링이나 조건에 맞는 지 확인 가능
- 정렬
나열된 원소를 원하는 대로 정렬하는 알고리즘
퀵 소트, 병합 소트, 팀 소트가 있음
- 팀소트
파이썬이 채택하고 있는 정렬
만든 사람인 팀 피터스의 이름에서 따옴
실제 데이터는 대부분 이미 정렬되어 있을 것이다 라는 가정하에 실제 데이터에서 고성능을 낼 수 있도록 설계한 알고리즘
다른 정렬에 비해 점근 하한이 낮음 (n)
- 슬라이딩 윈도우
투 포인터의 이용방법
슬라이딩 윈도우 처럼 이동해서 붙여짐
- 유니코드와 UTF-8
- ASCII
초기에 문자를 표현하던 방식
1바이트에 모든 문자 표현
한글이나 한자 같은 문자는 2개 이상의 특수 문자를 합쳐서 표현해서 깨지거나 제대로 표현되지 못 하는 경우 잦았음
- 유니코드
2~4바이트 공간에 여유 있게 문자를 할당하는 방식
적은 바이트가 필요한 문자열도 고정되어 있어서 메모리 낭비가 심했음
- UTF-8
유니코드의 가변 길이 문자 인코딩 방식
문자마다 가변길이의 바이트를 가짐
- 파이썬의 유니코드 인코딩
UTF-8 인코딩은 각 문자마다 바이트 길이가 달라지므로 문자열 슬라이싱 같은 기능 제공 힘듦
문자열 단위로 다른 고정 길이 인코딩 방식 적용