특정 문자열로 끝나는 가장 긴 부분 문자열 찾기
- 사용명령어 : str1.lastIndexOf(str2); → str1속 str2가 속하는 가장 마지막 index 시작 str.substring(a, b);
문자열이 몇번 등장하는지 세기
ad 제거하기
어려웠던부분 : 그냥 for문의 i를 1씩 증가시키면서 remove를 하면 remove되면서 temp의 index에 변동이 생겨 순환참조시에 문제가 발생되게된다. 이를 해결하기 위해 역순으로 i를 감소시키면서 for문을 실행한다. 다른방법 :
- 사용명령어 : iteraotr Iterator<String> iteraotor = temp.iterartor(); → 리스트 temp를 참조하여 iterator 객체 생성 iterator은 temp의 첫번째 요소를 가리킴 iterator.hasNext(); → iterator의 다음 요소가 있으면 true 출력 후 다음요소로 이동 iterator.next(); → iterator의 현재 요소 출력
x 사이의 개수
문자열 잘라서 정렬하기
- 사용명령어 : str.split("c"); → 문자열 c 기준으로 나눈 배열 생성 List<String> str1 = new ArrayList<>(); str.isEmpty();
간단한 식 계산하기
문자열 바꿔서 찾기
세 개의 구분자
- 사용명령어 : str.split("[abc]"); → `split("[abc]")`는 정규 표현식을 사용하여 문자열을 분할하는데, 이 때 문자열을 "a", "b", "c" 문자 중 하나를 구분자로 사용하여 분할합니다. 여기서 `"[abc]"`는 문자 클래스(character class)를 나타냅니다. 문자 클래스는 대괄호 `[ ]` 안에 여러 문자를 나열하여 해당 문자 중 하나를 나타냅니다. - `[abc]`: "a", "b", "c" 중 하나를 의미합니다. 따라서 `split("[abc]")`는 "a", "b", "c" 문자 중 하나를 구분자로 사용하여 문자열을 분할합니다. 예를 들어, "apple,banana;grapec.orange"와 같은 문자열을 이 메서드로 분할하면 다음과 같은 결과를 얻을 수 있습니다: - "apple" - "" - "" - "n" - "" - "n" - ";gr" - "pe" - ".or" - "nge" 위의 결과에서 볼 수 있듯이, "a", "b", "c" 문자가 구분자로 사용되어 문자열이 분할되었습니다. 만약 "a", "b", "c" 문자가 연속해서 나타난 경우에는 빈 문자열도 생성됩니다.
빈 배열의 추가, 삭제하기
배열 만들기 6
다른방법 :
Stack 활용 : 스택(Stack)은 데이터를 저장하고 관리하는 선형 자료구조 중 하나로, 데이터를 한 쪽 끝에서만 접근할 수 있는 구조. 이러한 스택은 후입선출(Last In, First Out) 구조를 가지고 있어서 가장 최근에 추가된 항목이 가장 먼저 제거됩니다. 스택은 다음과 같은 기본 동작을 가집니다: 1. **push**: 스택의 맨 위에 데이터를 추가합니다. 2. **pop**: 스택의 맨 위에서 데이터를 제거하고 반환합니다. 3. **peek**: 스택의 맨 위에 있는 데이터를 반환합니다. (제거하지 않고) 4. **isEmpty**: 스택이 비어있는지 확인합니다. 5. **size**: 스택에 저장된 데이터의 개수를 반환합니다. 스택 참고자료 : https://djhelloworld.tistory.com/6
무작위로 k개의 수 뽑기
- 사용명령어 : Arrrays.fill(arr, "a") → arr의 빈 배열을 0이 아닌 "a"로 채움
배열의 길이를 2의 거듭제곱으로 만들기
배열 비교하기 - 1일차에 내가 작성한 코드
문자열 묶기
배열의 길이에 따라 다른 연산하기
- 다른방법
삼항연산자를 for문 안에 넣어서 좀 더 간결하게 할 수 있다.