[자료구조]문자열
안녕하세요. codesche입니다. 오늘은 알고리즘 문제에서 빈번하게 활용되는 문자열 로직을 정리해보고자 합니다. 사실 알고리즘 문제 풀다보면 풀리는 문제보다 안 풀리는 문제가 훨씬 많은데 그 과정에서 개념활용에 익숙지 않아서 고민하는 경우가 상당히 많이 발생합니다. 30분, 1시간을 생각해도 많게는 2~3시간을 머리 싸매고 고민하지만 문제가 쉽게 풀리지 않는 경우가 있는데, 조금이라도 고민하는 시간을 줄여보고자 문제풀이에 필요한 개념과 소스 로직들을 정리해봤습니다. 필요하실 때 참고하시면 좋을 듯 합니다.
1. 문자열
1) equals()
문자열의 내용을 비교합니다.
2) equalsIgnoreCase
문자열의 특징을 무시하고 비교하는 것. 소문자, 대문자를 동일하게 인식합니다.
3) compareTo() 메소드
문자열의 길이를 비교해 정수를 반환해줍니다.
같으면 0
크면 1
작으면 -1
4) equalsIgnoreCase
문자열 비교시 해당 문자열의 대소문자 구분없이 비교를 할 때 사용합니다.
5) indexOf(String), indexOf(String, int)
특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스를 반환하며 찾지 못한 경우 "-1"을 반환합니다.
.indexOf("찾을 특정 문자", "시작할 위치") 이런식으로 사용해주면 됩니다.
시작할 위치는 생략이 가능하며 생략할 경우 0번째 즉 처음부터 찾기 시작합니다.
6) replace
자신이 바꾸고 싶은 문자로 문자열을 치환시켜줍니다.
7) replaceAll
자신이 바꾸고 싶은 문자로 문자열을 전부 치환시켜줍니다.
**참고 - replace vs replaceAll
replace는 첫번째 값으로 바꿀 문자열을 입력받지만 첫번째 인자값으로 정규식이 들어갑니다.
replace는 특수문자로 치환이 가능하지만 replaceAll은 특수문자 치환이 안 됩니다.
8) substring
문자열을 자를 때 주로 사용합니다.
String substring(int startIndex);
String substring(int startIndex, int endIndex)
여기서 startIndex는 시작점의 인덱스 값이고, endIndex는 종료점의 인덱스 값입니다.
(String substring(int startIndex); => 종료점이 생략되면 문자열 끝까지 출력)
'알고리즘 지식 > 자료구조' 카테고리의 다른 글
배열(Array) (1) | 2024.06.17 |
---|---|
[자료구조]Map 인터페이스 (0) | 2023.01.11 |
[자료구조]버블 정렬 (0) | 2022.12.30 |
[자료구조]원형 큐 (0) | 2022.12.27 |
[자료구조]슬라이딩 윈도우 With 투 포인터 (0) | 2022.12.26 |
댓글
이 글 공유하기
다른 글
-
배열(Array)
배열(Array)
2024.06.17 -
[자료구조]Map 인터페이스
[자료구조]Map 인터페이스
2023.01.11 -
[자료구조]버블 정렬
[자료구조]버블 정렬
2022.12.30 -
[자료구조]원형 큐
[자료구조]원형 큐
2022.12.27