- 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기
- 사용명령어 : 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문 안에 넣어서 좀 더 간결하게 할 수 있다. - 뒤에서 5등까지
- 공백으로 구분하기1
- 공백으로 구분하기 2
- my_string
- 배열의 원소만큼 추가하기
출처 : https://school.programmers.co.kr/learn/challenges/training?order=recent&languages=java&page=5
'Java & Spring > 코딩테스트' 카테고리의 다른 글
NeetCode - Arrays & Hashing (0) | 2024.05.27 |
---|---|
프로그래머스 - 기초트레이닝 7일차(완료) (0) | 2024.05.08 |
프로그래머스 - 기초트레이닝 5일차 (0) | 2024.05.06 |
프로그래머스 - 기초트레이닝 4일차 (0) | 2024.05.04 |
프로그래머스 - 기초트레이닝 3일차 (0) | 2024.05.03 |