Algorithm/프로그래머스

[Lv. 2] JadenCase 문자열 만들기

녱녱 2023. 9. 17.

class Solution {
    public String solution(String s) {
        String answer = "";
        StringBuilder sb = new StringBuilder();    
        String first = s.charAt(0) + "";
        sb.append(first.toUpperCase());
        
        for(int i = 1; i < s.length(); i++){
            String now = s.charAt(i) + "";
            if(now.equals(' ')) sb.append(" ");
            else if(s.charAt(i - 1) == ' ') sb.append(now.toUpperCase());
            else sb.append(now.toLowerCase());
        }
        
        answer = sb.toString();
        return answer;
    }
}
  1. String answer = "";과 StringBuilder sb = new StringBuilder();를 사용하여 빈 문자열 answer와 문자열을 빠르게 조작하기 위한 StringBuilder 객체 sb를 초기화
  2. String first = s.charAt(0) + "";를 사용하여 입력 문자열 s의 첫 글자를 가져온 다음 이를 대문자로 변환하여 sb에 추가, 이 부분은 첫 번째 단어의 첫 글자를 대문자로 만드는 역할
  3. for문을 사용해 문자열 s를 순회
  4. String now = s.charAt(i) + "";를 사용하여 현재 글자를 가져옴
  5. 문자열 조작
    • if (now.equals(' ')): 현재 글자가 공백 문자이면, 그대로 sb에 추가
    • else if (s.charAt(i - 1) == ' '): 현재 글자가 공백 문자가 아니지만 바로 전 글자가 공백 문자인 경우, 현재 글자를 대문자로 변환하여 sb에 추가 ( 단어의 첫글자)
    • 그 외의 경우에는 현재 글자를 소문자로 변환하여 sb에 추가
  6. answer = sb.toString();를 사용하여 StringBuilder에 저장된 결과를 문자열로 변환하고, 이를 answer에 저장한 다음 반환

'Algorithm > 프로그래머스' 카테고리의 다른 글

[Lv. 1] 2016년  (0) 2023.10.02
[Lv. 1] 로또의 최고 순위와 최저 순위  (0) 2023.09.17
[Lv. 1] 명예의 전당(1)  (0) 2023.09.07
[Lv. 1] 푸드 파이트 대회  (0) 2023.09.07
[Lv. 2] 점프와 순간 이동  (0) 2023.08.20

댓글