[코딩테스트] 프로그래머스 12951, JadenCase 문자열 만들기

2022. 7. 10. 17:06CodingTest

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12951

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제접근

  1. 입력으로 받은 문자열을 소문자로 변환함
  2. 제일 첫번째 문자가 소문자이면 대문자로 변환하여 저장
  3. i번째 문자가 소문자이고 i-1번째 문자가 공백이면 대문자로 변환하여 저장
  4. 그 외의 경우에는 그대로 저장함

 

구현

public class Solution {

    public String solution(String s) {
        String answer = "";
        s = s.toLowerCase();
        StringBuilder sb = new StringBuilder();

        for(int i = 0; i < s.length(); i++){
            char target = s.charAt(i);
            String toUpperCase = String.valueOf(target).toUpperCase();

            if(i == 0){
                if(Character.isLowerCase(target)){
                    sb.append(toUpperCase);
                }else{
                    sb.append(target);
                }
            }else if(s.charAt(i-1) == ' ' && Character.isLowerCase(target)){
                sb.append(toUpperCase);
            }
            else{
                sb.append(target);
            }

        }
        answer = sb.toString();
        return answer;
    }

    public static void main(String[] args){
        System.out.println(new Solution().solution("3people unFollowed me"));
        System.out.println(new Solution().solution("for the last week"));
        System.out.println(new Solution().solution("for the  last week"));

    }
}