99클럽 코테 스터디 8일차 TIL + 정렬된 큐
📍오늘의 학습 키워드
- 문자열 회전
- 사전 순 정렬
- Java substring 메서드
- Java compareTo 메서드
- Java Arrays.sort 메서드
📝 공부한 내용 본인의 언어로 정리하기
오늘은 문자열을 주어진 조건에 따라 회전시키고, 사전 순으로 가장 작은 문자열을 찾는 방법을 공부했다. **k**값에 따라 두 가지 접근법을 사용했다. k가 1일 때는 문자열을 여러 번 회전시켜 가능한 모든 회전된 문자열 중 가장 작은 것을 찾았다. k가 2 이상일 때는 문자열의 모든 문자를 정렬하여 사전 순으로 가장 작은 문자열을 구했다. 이를 위해 substring, compareTo, Arrays.sort 메서드를 사용했다.
📖 오늘의 회고
📚 어떤 문제가 있었고, 나는 어떤 시도를 했는지
문제를 처음 접했을 때, 문자열을 회전시키고 사전 순으로 정렬하는 방법을 이해하는 데 어려움을 겪었다. substring과 compareTo 메서드의 사용법이 헷갈렸고, Arrays.sort 메서드를 사용하여 문자열을 정렬하는 방법이 낯설었다.
🤔 어떻게 해결했는지
🔖 문제 해결 링크 (https://develop-tracking.tistory.com/59)
먼저, substring 메서드를 사용하여 문자열을 회전시키는 방법을 이해했다. 이를 통해 문자열의 일부를 추출하고, 두 부분을 결합하여 새로운 회전된 문자열을 생성할 수 있었다. 그런 다음, compareTo 메서드를 사용하여 두 문자열을 비교하고 사전 순으로 작은 문자열을 찾는 방법을 익혔다. Arrays.sort 메서드를 사용하여 문자열을 문자 배열로 변환한 후 정렬하고 다시 문자열로 변환하는 과정도 학습했다.
🤓 무엇을 새롭게 알았는지
- substring 메서드를 사용하여 문자열의 일부를 쉽게 추출할 수 있다는 것.
- compareTo 메서드를 사용하여 두 문자열을 사전 순으로 비교할 수 있다는 것.
- Arrays.sort 메서드를 사용하여 문자 배열을 사전 순으로 정렬하고 이를 다시 문자열로 변환할 수 있다는 것.
- 시간 복잡도:
- k == 1: O(n^2)
- k >= 2: O(n log n)
- 공간 복잡도:
- k == 1: O(n)
- k >= 2: O(n)
⏳ 내일 학습할 것은 무엇인지
- 문자열 처리와 관련된 더 복잡한 알고리즘 문제를 풀어보기.
- Java의 다른 문자열 메서드들 (indexOf, lastIndexOf, replace, split 등)을 학습하기.
- 알고리즘 문제를 해결하는 다양한 접근법을 익히기 위해 다른 문제들도 풀어보기.
'알고리즘 & 자료구조 > 스터디 (Algorithm Study)' 카테고리의 다른 글
[99클럽 코테 스터디] 📝 Day10. BFS (너비 우선 탐색) (0) | 2024.05.30 |
---|---|
[99클럽 코테 스터디] 📝 Day9. Java 너란 탐색. 친해지자료구조 (0) | 2024.05.28 |
[99클럽 코테 스터디] 📝 Day7. 간단한 JAVA 솔루션이 100% 승리합니다! (0) | 2024.05.26 |
[99클럽 코테 스터디] 📝 Day6. 꾸준함2 (0) | 2024.05.26 |
[99클럽 코테 스터디] 📝 Day5. 꾸준하게 (0) | 2024.05.26 |