교육/알고리즘_기본

📌 문자열

Jedy_Kim 2024. 7. 25. 17:14
728x90

🎯 기본 문자열 연산

1
2
3
4
5
6
7
8
9
10
// 1. 기본 문자열 연산
String str = "Hello";
// 문자열 길이
str.length();
// 문자 접근
str.charAt(index);
// 부분 문자열
str.substring(start, end);
// 문자열 비교
str.equals(anotherStr); 
cs

🎯 문자열 변환

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 2. 문자열 변환
String str = "Hello";
// 문자 배열로 변환
str.toCharArray();
// 문자열 분리
str.split(regex);
// 문자열 합치기
String delimiter = ", ";
String[] elements = {"apple""banana""cherry"};
String result = String.join(delimiter, elements);
System.out.println(result);
// 기본 타입 변환
String.valueOf(int);
Integer.parseInt(str);
cs

🎯 문자열 조작

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 3. 문자열 조작
String str = "Hello";
// 대소문자 변환
str.toUpperCase();
str.toLowerCase();
// 공백 제거
str.trim();
// 문자열 대체:
str.replace(oldChar, newChar);
str.replaceAll(regex, replacement);
// 문자열 포함 여부
str.contains(seq);
// 문자열 시작 및 끝 확인
str.startsWith(prefix); 
str.endsWith(suffix);
cs

🎯 고급 문자열 처리 : StringBuilder

Java에서 문자열을 조작할 때 사용되는 클래스로, 문자열을 추가, 변경, 삭제할 때 더 효율적이고 빠른 성능을 제공합니다. 

이는 특히 반복적인 문자열 조작이 필요한 경우에 유용합니다. StringBuilder는 가변 길이의 문자열을 다루기 때문에 String 클래스보다 메모리와 성능 면에서 더 유리합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// 1. 생성자
// 기본 생성자
StringBuilder sb = new StringBuilder();
// 초기 문자열을 제공하는 생성자 
StringBuilder sb = new StringBuilder("initial string");
// 초기 용량을 지정하는 생성자
StringBuilder sb = new StringBuilder(50);
 
// 2. 추가 (Append)
// 문자열을 추가합니다.
sb.append("hello");
sb.append(" ");
sb.append("world");
System.out.println(sb.toString());  // Output: hello world
 
// 3.    삽입 (Insert)
// 특정 위치에 문자열을 삽입합니다.
sb.insert(5"beautiful ");
System.out.println(sb.toString());  // Output: hello beautiful world
 
// 4.    삭제 (Delete)
// 문자열의 일부를 삭제합니다.
sb.delete(515);
System.out.println(sb.toString());  // Output: hello world
 
// 5.    변경 (Replace)
// 문자열의 일부를 다른 문자열로 대체합니다.
sb.replace(611"everyone");
System.out.println(sb.toString());  // Output: hello everyone
 
// 6.    역순 (Reverse)
// 문자열을 역순으로 변경합니다.
sb.reverse();
System.out.println(sb.toString());  // Output: enoyreve olleh
 
// 7.    길이 및 용량 (Length and Capacity)
// 길이
int length = sb.length();
// 용량 
int capacity = sb.capacity();
// 용량 확장
sb.ensureCapacity(100);
 
 
 
public class StringBuilderExample {
    public static void main(String[] args) {
        // StringBuilder 생성
        StringBuilder sb = new StringBuilder("Hello");
 
        // 문자열 추가
        sb.append(" World");
        System.out.println(sb);  // Output: Hello World
 
        // 문자열 삽입
        sb.insert(6"Beautiful ");
        System.out.println(sb);  // Output: Hello Beautiful World
 
        // 문자열 삭제
        sb.delete(616);
        System.out.println(sb);  // Output: Hello World
 
        // 문자열 변경
        sb.replace(611"Everyone");
        System.out.println(sb);  // Output: Hello Everyone
 
        // 문자열 역순
        sb.reverse();
        System.out.println(sb);  // Output: enoyrevE olleH
 
        // 길이 및 용량
        System.out.println("Length: " + sb.length());         // Output: Length: 14
        System.out.println("Capacity: " + sb.capacity());     // Output: Capacity: 27
 
        // 용량 확장
        sb.ensureCapacity(50);
        System.out.println("New Capacity: " + sb.capacity()); // Output: New Capacity: 54
    }
}
cs

 

🎯 과제

1) 문자열 뒤짚기

https://school.programmers.co.kr/learn/courses/30/lessons/120822

2) 문자열 다루기

https://school.programmers.co.kr/learn/courses/30/lessons/12918?itm_content=course14743

3) 문자열 정렬하기(1)
https://school.programmers.co.kr/learn/courses/30/lessons/120850

4) 문자열 붙여서 출력하기
https://school.programmers.co.kr/learn/courses/30/lessons/181946

5) 문자열 붙여서 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/181946

6) 특정 문자 제거
https://school.programmers.co.kr/learn/courses/30/lessons/120826

7) 문자열안에 문자열

https://school.programmers.co.kr/learn/courses/30/lessons/120908

8) 문자열 섞기

https://school.programmers.co.kr/learn/courses/30/lessons/181942

  1. 문자열안에 문자열
  •  
  1. 특정 문자 제거하기
  •  
  1. 문자열 붙여서 출력하기
  •  
반응형

'교육 > 알고리즘_기본' 카테고리의 다른 글

📌 깊이 우선 탐색(Depth First Search, DFS)  (0) 2024.08.08
📌 기본 정렬(선택, 삽입, 버블)  (0) 2024.07.30
📌 자료구조 : Set, Map  (0) 2024.07.18
📌 재귀함수  (0) 2024.07.18
📌 배열(개념)  (0) 2024.07.11