반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

개발 쥬스

[프로그래머스/Java] 12951 JadenCase 문자열 만들기 본문

알고리즘

[프로그래머스/Java] 12951 JadenCase 문자열 만들기

DevJuice 2024. 11. 16. 23:40
반응형

🔗 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/12951

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

🔍  해결 과정

주어진 문자열에서 공백의 상태는 그대로 유지를 한 채로 단어의 앞부분이 문자이면 해당 문자를 대문자로 바꾸고 그 뒤에 오는 문자열은 전부 소문자로 바꿔야 합니다.

 

간단한 구현 문제이긴 하나, 처음에 공백을 고려를 안 하고 코드를 구현하여 항상 예외 상황을 잘 고려해야 한다는 점을 다시 한번 각인시켜준 문제였습니다.

 


class Solution {
    public String solution(String s) {
        s = s.toLowerCase();
        StringBuilder sb = new StringBuilder(s);
        int len = s.length();
        int idx = 0;
        
        while (idx < len) {
            
            while (idx < len && sb.charAt(idx) == ' ') {
                ++idx;
            }
            
            if (idx < len && 'a' <= sb.charAt(idx) && sb.charAt(idx) <= 'z') {
                char up_c = Character.toUpperCase(sb.charAt(idx));
                
                sb.deleteCharAt(idx);
                sb.insert(idx, up_c);
            }
            
            while (idx < len && sb.charAt(idx) != ' ') {
                ++idx;
            }
        }
        
        return sb.toString();
    }
}

 

반응형