코테

[코딩 테스트] 문자열 메소드 정리(String,StringBuilder)

kchs0529 2025. 4. 9. 10:37

Java 문자열 메소드 정리

Java에서 문자열(String)은 코딩 테스트에서 자주 사용되는 기본 자료형이다. 아래는 코딩 테스트를 대비하여 자주 사용하는 문자열 관련 메소드를 간단히 정리한 내용이다.


String 주요 메소드

메소드 설명 예시
length() 문자열의 길이를 반환한다. "abc".length() → 3
charAt(i) i번째 문자를 반환한다. "abc".charAt(0) → 'a'
substring(start) start 인덱스부터 끝까지 자른 문자열을 반환한다. "hello".substring(2) → "llo"
substring(start, end) start부터 end-1까지의 부분 문자열을 반환한다. "hello".substring(1, 4) → "ell"
contains("abc") 지정한 문자열이 포함되어 있는지를 확인한다. "abcde".contains("cd") → true
indexOf("a") 지정한 문자가 처음 등장하는 위치를 반환한다. "banana".indexOf("a") → 1
lastIndexOf("a") 지정한 문자가 마지막으로 등장하는 위치를 반환한다. "banana".lastIndexOf("a") → 5
split("구분자") 구분자를 기준으로 문자열을 나눈 배열을 반환한다. "a,b,c".split(",") → ["a", "b", "c"]
trim() 문자열 앞뒤의 공백을 제거한 결과를 반환한다. " hi ".trim() → "hi"
replace("a", "b") 지정한 문자 또는 문자열을 다른 값으로 대체한다. "abc".replace("a", "z") → "zbc"
equals("abc") 문자열이 같은지를 비교한다. "abc".equals("abc") → true
equalsIgnoreCase("ABC") 대소문자를 무시하고 문자열을 비교한다. "abc".equalsIgnoreCase("ABC") → true
toLowerCase() 모든 문자를 소문자로 변환한다. "ABC".toLowerCase() → "abc"
toUpperCase() 모든 문자를 대문자로 변환한다. "abc".toUpperCase() → "ABC"
toCharArray() 문자열을 문자 배열로 변환한다. "abc".toCharArray() → ['a','b','c']
+ 연산 문자열을 이어붙인다. "a" + "b" → "ab"
Arrays.sort(char[]) 문자 배열을 사전순으로 정렬한다. "cba" → ['a','b','c']

StringBuilder는 String과 다를까?

StringBuilder는 문자열을 자주 변경할 때 사용하는 클래스이다. String은 불변이기 때문에 문자열을 자주 연결하거나 수정하는 경우 StringBuilder를 사용하면 성능이 향상된다.

StringBuilder 주요 메소드

메소드 설명
append("문자열") 문자열을 이어붙인다.
insert(index, "문자열") 지정한 위치에 문자열을 삽입한다.
delete(start, end) 지정한 범위의 문자열을 삭제한다.
replace(start, end, "문자열") 지정한 범위의 문자열을 다른 문자열로 교체한다.
reverse() 문자열을 뒤집는다.
toString() StringBuilder 객체를 String으로 변환한다.
charAt(i) i번째 문자를 반환한다.
setCharAt(i, 'c') i번째 문자를 수정한다.
length() 문자열의 길이를 반환한다.

참고: contains(), split() 등 String의 일부 메소드는 StringBuilder에서 직접 사용할 수 없으며, toString()으로 변환 후 사용해야 한다.

StringBuilder sb = new StringBuilder("hello");
if (sb.toString().contains("el")) {
    System.out.println("포함됨");
}

요약

  • 문자 하나씩 순회 → charAt() 또는 toCharArray() 사용
  • 문자열 자르기 → substring(), split()
  • 문자열 많이 바꾸기 → StringBuilder 사용
  • 문자 정렬 → toCharArray() + Arrays.sort()

문자열은 거의 모든 문제에서 사용되므로, 위 메소드들을 자주 사용해보며 익혀두는 것이 중요하다.