LeetCode 문제 풀이
[LeetCode] 520번 Detect Capital 문제를 풀어보았다. (ft. java)
pantrom
2023. 1. 2. 23:41
2023년 01월 02일 월요일 - 아니 왜 아직 월요일?
오늘 올려볼 문제는 520번 Detect Capital 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
regex가 느리긴 느려..
입력
사진에서도 볼 수 있듯이 String 1개가 입력으로 들어온다.
풀이 및 코드
다음 3가지 규칙 중 하나라도 맞는지 판단하는 문제이다.
- 모두 대문자로 이루어져있는가
- 모두 소문자로 이루어져있는가
- 첫번째 글자만 대문자고 다른 문자는 모두 소문자로 이루어져있는가
오늘은 처음부터 정답을 생각해냈다.
regex를 사용해서 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
import java.util.regex.Pattern;
class Solution {
public boolean detectCapitalUse(String word) {
return Pattern.matches("[A-Z]+", word) || Pattern.matches("[a-z]+", word) || Pattern.matches("[A-Z][a-z]+", word);
}
}
제출 화면
옛날에 일일히 비교하면서 푼 코드도 있는데 그게 훨씬 빠르긴하다.
확실히 regex가 편리하긴하지만 느리긴하다..
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.