Algorithm/JAVA
JadenCase 문자열 만들기
danso
2024. 8. 27. 16:52
💡 문제
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
💡 제한사항
- s는 길이 1 이상 200 이하인 문자열입니다.
- s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
- 숫자는 단어의 첫 문자로만 나옵니다.
- 숫자로만 이루어진 단어는 없습니다.
- 공백문자가 연속해서 나올 수 있습니다.
입출력

✨ 풀이
class Solution {
public String solution(String s) {
String answer = "";
StringBuilder sb = new StringBuilder();
boolean flag = true;
for(char ch : s.toCharArray())
{
sb.append(flag ? Character.toUpperCase(ch) : Character.toLowerCase(ch));
flag = ch == ' ';
}
answer = sb.toString();
return answer;
}
}
Java에서 String 객체끼리 더하는 방법은 메모리 할당과 해제를 발생 시킨다. 예를 들어 String a = "a"를 선언하고 a에 "b"라는 문자를 더 할 경우 a와 b를 연결하는 새 문자열이 생성되고 이전 문자는 가비지 컬렉터로 들어간다. 만약 엄청 많은 문자열을 연결해야 할 경우 성능 문제가 발생한다. 그러나 StringBuilder를 사용하면 변경 가능한 문자열을 만들어주기 때문에 String을 합칠 경우 해당 객체를 이용해서 작업한다. 단지, append를 이용하여 문자를 추가해야하고, 출력이나 문자를 다시 담아야 할 경우 toString을 사용한다.