2024-05-07
작성
programers에서 문제 풀이한 내용입니다.
문제 설명
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
제한사항
- s는 길이 1 이상 200 이하인 문자열입니다.
- s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
- 숫자는 단어의 첫 문자로만 나옵니다.
- 숫자로만 이루어진 단어는 없습니다.
- 공백문자가 연속해서 나올 수 있습니다.
입출력 결과
s | answer |
"3people unFollowed me" | "3people Unfollowed Me" |
"for the last week" | "For The Last Week" |
문제 풀이
public static String jadenCase_1(String s) {
String answer = "";
String[] groups = s.toLowerCase().split("");
boolean isFirst = true;
for (String str : groups) {
answer += isFirst ? str.toUpperCase() : str;
isFirst = " ".equals(str) ? true : false;
}
return answer;
}
처음에는 아래처럼 substring를 사용해서 풀이하다가, 영문자가 아닌 것들도 toUpperCase해도 변함이 없다는 것을 보고 이점을 이용하여 풀이하였다.
answer += str.substring(0, 1).toUpperCase();
answer += str.substring(1, str.length()).toLowerCase();
'Computer Science > 자료구조 & 알고리즘' 카테고리의 다른 글
알고리즘 문제 풀이 #4 문자열을 정수로 바꾸기 (0) | 2024.05.11 |
---|---|
알고리즘 문제 풀이 #2 올바른 괄호 (1) | 2024.04.27 |
알고리즘 문제 풀이 #1 최대값과 최솟값 (0) | 2024.04.23 |
자료구조(Data Structure)와 추상자료형(ADT) (1) | 2023.11.24 |
알고리즘 공부 방법 (1) | 2019.11.10 |