1. String
String str = "apple";
// 길이 반환
str.length(); // 5
// 빈 문자열 체크
str.isEmpty(); // false
// 문자 찾기
str.charAt(0); // 'a' 문자 반환
str.indexOf("p"); // 처음 발견되는 인덱스 반환(1), 찾지 못할 경우 -1 반환
// 문자 자르기
str.substring(1,3); // "pp"
str.substring(3); // "app"
// 문자 바꾸기
str.replace('p',''); // "ale"
str.replaceAll(".","/"); // "/////" 정규식에 맞춰 문자 치환 ("." 은 모든 문자 의미)
str.replaceAll("[^a-z]", "") // a~z까지를 제외한 나머지를 빈 공간으로 바꿈
// 문자 동일 여부 판단
str.equals("apple"); // true;
// 문자 포함 판단
str.contains("app"); // true
// 문자열 분리, String [] 변환
str.split(" "); // 띄어쓰기로 구분된 문자열을 분리해 str [] 변환
// 문자-숫자 변환
Integer.toString(100); // 숫자 100을 "100"으로 변환
Integer.parseInt("100"); // "100"을 숫자 100으로 변환
// 대, 소문자 변환
str = str.toUpperCase(); // "APPLE";
str = str.toLowerCase(); // "apple";
// CharArray 변환
str.toCharArray(); // ['a','p','l','l','e']
// 문자열 정답 반환시
String answer = "";
answer += 'a';
2. Character
char [] charArr = {'a','p','p','l','e'};
// 문자인지 확인
Character.isAlphabetic(charArr[0]); // true
Character.isAlphabetic('!'); // false
// 문자열 변한
String answer = String.valueof(charArr); // "apple"
3. StringBuilder
// String은 한번 만들어지면 문자를 추가하거나 삭제할 수 없기에
// 변경이 필요한 경우 StringBuilder를 사용
Stringbuilder sb = new StringBuilder("apple");
// 문자열 추가
sb.append("apple"); "appleapple"
// 문자열 삭제
sb.delete(0,2); // "apple", 인덱스 0~4까지의 문자열 삭제
// 특정 인덱스 문자 삭제
sb.deleteCharAt(2); "aple"
// 특정 인덱스 문자 수정
sb.setCharAt(2, 'p'); //"appe"
// 문자열 뒤집기
sb.reverse(); // "eppa"
// 문자열 반환
String str = sb.toString(); // "eppa"
// 문자열 뒤집고 문자열 반환
String reversed = sb.reverse().toString(); // "appe"
4. List
// 리스트는 중복이 허용되고 순서가 있는 컬렉션
List<String> list = new ArrayList<>();
List<String> list2 = new ArrayList<>();
// 요소 삽임
list.add("one");
list.add("zero", 0);
// 특정 요소의 첫 인덱스 반환
list.indexOf("zero"); // 0
// 특정 인덱스 또는 값 삭제
list.remove(0);
list.remove("one");
// 빈 리스트 체크
list.isEmpty; // true
// 특정 문자열 포함 체크
list.contains("one"); // false
5. Stack
// 스택은 후입선출 원칙에 따라 데이터를 저장하는 컬렉션
Stack<Integer> stk = new stack<>();
// 요소 추가
stk.push(1);
// 요소 꺼내기
stk.pop();
// 비우기
stk.clear();
// 길이
stk.size();
// 요소 존재 확인
stk.contains(1);
// 최상단 요소 확인
stk.peak();
6. Queue
// 선입선출 원칙을 따르는 컬렉션 클래스
Queue<Integer> queue = new LinkedLiST<>();
// 요소 추가
queue.add(1); // 문제 상황시 예외 발생
queue.offer(2); // 문제 상황시 false 리턴
// 요소 제거
String frontItem = queue.remove(); // 맨 앞 요소 제거 후 반환 or 예외 발생
String frontItemOrNull = queue.poll(); // 맨 앞 요소 제거 후 반환 or false 리턴
// 맨 앞 요소 반환
String frontItem = queue.element(); // 맨 앞의 항목 반환 or 예외 발생
String frontItemOrNull = queue.peek(); // 맨 앞우 항목 반환 or null
'백앤드 개발 > 코딩테스트' 카테고리의 다른 글
[프로그래머스 Java] 이진 변환 반복하기 (0) | 2023.11.22 |
---|---|
[프로그래머스 Java] 올바른 괄호 (1) | 2023.11.21 |
[프로그래머스 Java] 최솟값 만들기 (0) | 2023.11.20 |
[프로그래머스 Java] 최댓값과 최솟값 (0) | 2023.11.20 |
[파이썬 문제 풀이] OX 퀴즈 (1) | 2023.10.10 |