📌 문제 링크 :
https://leetcode.com/problems/reverse-words-in-a-string
✅ 내 풀이(Success) :
class Solution {
public String reverseWords(String s) {
String[] strings = s.trim().replaceAll("\\s+", " ").split(" ");
StringBuilder sb = new StringBuilder();
for (int i = strings.length - 1; i >= 0; i--) {
sb.append(strings[i]);
if (i != 0) sb.append(" ");
}
return sb.toString();
}
}
🧐 리뷰 :
리트코드에서 처음으로 푼 Medium 난이도 문제인데 생각보다 쉽게 풀렸다. 그래도 replaceAll() 메서드로 "하나 이상의 공백 문자"를 "하나의 공백 문자"로 치환하지 못했다면 좀 더 어렵게 문제를 풀었을 것 같다. replaceAll() 메서드에서 사용된 정규식도 기억이 나질 않아서 찾아봤는데, 알고리즘 문제를 풀때 자주 사용되는 정규 표현식은 어느정도는 찾지 않고 바로 코드를 작성할 수 있게 기억해둬야겠다.
문제를 풀고나서 알게 된 것인데, split() 메서드도 replaceAll() 메서드처럼 인수로 정규표현식을 받는다. 그래서 이 문제는 굳이 replaceAll()로 하나의 이상의 공백 문자를 하나의 공백 문자로 바꿔주기보다는 split() 메서드만 사용해서도 충분히 풀 수 있는 문제였다.
'알고리즘 문제 풀이: 자바 > LeetCode' 카테고리의 다른 글
| 605. Can Place Flowers (0) | 2025.11.05 |
|---|---|
| 345. Reverse Vowels of a String (0) | 2025.11.04 |
| 1207. Unique Number of Occurrences (0) | 2025.11.02 |
| 1732. Find the Highest Altitude (0) | 2025.11.01 |
| 2215. Find the Difference of Two Arrays (0) | 2025.10.31 |
댓글