LeetCode 문제 풀이

[LeetCode] 520번 Detect Capital 문제를 풀어보았다. (ft. java)

pantrom 2023. 1. 2. 23:41

2023년 01월 02일 월요일 - 아니 왜 아직 월요일?


오늘 올려볼 문제는 520번 Detect Capital 이라는 문제이다.


사진을 클릭하면 해당 문제로 이동합니다.

leetcode 문제 사진

오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.

regex가 느리긴 느려..


입력


사진에서도 볼 수 있듯이 String 1개가 입력으로 들어온다.



풀이 및 코드


다음 3가지 규칙 중 하나라도 맞는지 판단하는 문제이다.

  1. 모두 대문자로 이루어져있는가
  2. 모두 소문자로 이루어져있는가
  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);
    }
}




제출 화면

leetcode 문제 맞았습니다


옛날에 일일히 비교하면서 푼 코드도 있는데 그게 훨씬 빠르긴하다.

확실히 regex가 편리하긴하지만 느리긴하다..


내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.