티스토리 뷰
Problem
We define the usage of capitals in a word to be right when one of the following cases holds:
All letters in this word are capitals, like "USA".
All letters in this word are not capitals, like "leetcode".
Only the first letter in this word is capital, like "Google".
Given a string word, return true if the usage of capitals in it is right.
Example 1:
Input: word = "USA"
Output: true
Example 2:
Input: word = "FlaG"
Output: false
Constraints:
- 1 <= word.length <= 100
- word consists of lowercase and uppercase English letters.
Solution
모든 문자가 대문자이거나, 소문자이거나, 첫 문자만 대문자인 경우 true를 반환하는 문제입니다.
package io.lcalmsky.leetcode.detect_capital;
public class Solution {
public boolean detectCapitalUse(String word) {
if (Character.isUpperCase(word.charAt(0))) {
word = word.substring(1);
return word.toUpperCase().equals(word) || word.toLowerCase().equals(word);
}
return word.toLowerCase().equals(word);
}
}
첫 번째 문자가 대문자일 때, 나머지 부분이 모두 대문자이거나 모두 소문자인지 비교하여 반환하고, 첫 문자가 소문자일 때, 모두 소문자인지 여부를 반환합니다.
Test
package io.lcalmsky.leetcode.detect_capital;
import static org.junit.jupiter.api.Assertions.assertAll;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
class SolutionTest {
@Test
void givenWord_whenCheckItConsistsOnlyCapital_thenCorrect() {
assertAll(
() -> test("USA", true),
() -> test("FlaG", false)
);
}
private void test(String given, boolean expected) {
// when
Solution detectCapital = new Solution();
boolean actual = detectCapital.detectCapitalUse(given);
// then
assertEquals(expected, actual);
}
}
문제가 간단한 만큼 직접 케이스별로 단순 비교형태로 구현하면 더 좋은 결과를 얻을 수 있습니다.
'Algorithm > LeetCode' 카테고리의 다른 글
1291. Sequential Digits (0) | 2022.01.30 |
---|---|
941. Valid Mountain Array (0) | 2022.01.29 |
1510. Stone Game IV (0) | 2022.01.27 |
134. Gas Station (0) | 2022.01.25 |
875. Koko Eating Bananas (0) | 2022.01.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Spring Data JPA
- 스프링 부트
- JPA
- JSON
- QueryDSL
- 함께 자라기 후기
- Spring Boot Tutorial
- 알고리즘
- 스프링 부트 회원 가입
- spring boot application
- Linux
- 스프링부트
- 스프링 데이터 jpa
- leetcode
- Jackson
- 클린 아키텍처
- intellij
- Java
- 함께 자라기
- r
- gRPC
- spring boot app
- spring boot jwt
- proto3
- Spring Boot JPA
- @ManyToOne
- Spring Boot
- 스프링 부트 튜토리얼
- 스프링 부트 애플리케이션
- 헥사고날 아키텍처
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함