프로그래머스_JadenCase 문자열 만들기

LeeYulhee·2023년 8월 29일
0

💻 문제 출처 : 프로그래머스_JadenCase 문자열 만들기

👉 내가 작성한 답


class Solution {
    public String solution(String s) {
        
        StringBuilder sb = new StringBuilder();
        String[] splitS = s.split("");
        
        int index = 0;
        
        for(String str : splitS) {
            if(str.equals(" ")) {
                sb.append(" ");
                index = 0;
                continue;
            }
            str = index == 0 ? str.toUpperCase() : str.toLowerCase();
            sb.append(str);
            index++;
        }
        
        return sb.toString();
    }
}

📌 문제 풀이 설명

  • StringBuilder를 생성
  • s를 한 글자씩 나눠서 String 배열로 생성
  • int 변수 index를 선언하고 0으로 초기화
  • 향상된 for문으로 String 배열 splitS를 순회
    • 만약 splitS의 요소가 “ “와 같다면
      • sb에 “ “ 추가
      • index에 0 대입
      • continue로 if문 뒤의 과정을 건너뛰고 for문 처음으로 감
    • index가 0이면 str을 대문자로 변경하고, 아니면 소문자로 변경해서 str에 대입
    • sb에 str을 추가
    • index 1 증가
  • for문 종료 후 sb를 String으로 변환해 return



👉 다른 사람이 작성한 답


class Solution {
  public String solution(String s) {
        String answer = "";
        String[] sp = s.toLowerCase().split("");
        boolean flag = true;

        for(String ss : sp) {
            answer += flag ? ss.toUpperCase() : ss;
            flag = ss.equals(" ") ? true : false;
        }

        return answer;
  }
}

📌 문제 풀이 설명

  • String 변수 answer를 선언하고 초기화
  • s를 소문자로 변경하고 한 글자씩 나눠서 String 배열 sp로 생성
  • boolean 변수 flag를 선언하고 true로 초기화
  • 향상된 for문으로 String 배열 sp를 순회
    • flag가 true면 sp의 요소를 대문자로 변경하고, 아니면 요소 그대로 answer에 추가
    • sp의 요소가 “ “와 같다면 flag에 true를 대입하고 아니면 false 대입
  • for문 종료 후 return answer
profile
공부 중인 신입 백엔드 개발자입니다

0개의 댓글