새소식

Algorithm/Programmers

(JAVA) [프로그래머스] 12951, JadenCase 문자열 만들기

  • -
728x90

 

 

프로그래머스

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

programmers.co.kr

 

12951, JadenCase문자열 만들기

📌 [ 난이도 : LEVEL 2 ]

이번 문제는 문자열 관련 문제이다.

 

📚 Process

초기화 및 선언

구현

: 공백이 연달아 나올 수 있다. 그렇기 때문에 공백이 나오는 순간마다 flag를 체크해준다. 

그 flag 가 확인되면 대문자 처리를 해주고 나머지는 소문자로 처리해주면 된다.

숫자는 toUpperCase를 사용해도 무방하기 때문에 이렇게 처리하였다.

 

✅ 전체 코드

: 다른 분의 풀이도 참조했는데 너무나도 간단하게 푼 코드가 있어 첨부한다.

import java.util.*;

class Solution {
    public String solution(String s) {
         StringBuilder answer = new StringBuilder();
        /* 첫번째 문자 여부 */
        boolean isFirst = true;

        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == ' ') {
                answer.append(s.charAt(i));
                isFirst = true; /* 공백 다음엔 첫번째 문자 */
            } else {
                if (isFirst) { /* 첫번째 문자의 경우 */
                    answer.append(String.valueOf(s.charAt(i)).toUpperCase());
                    isFirst = false; /* 첫번째 문자가 아님 */
                } else {
                    answer.append(String.valueOf(s.charAt(i)).toLowerCase());
                }
            }
        }

        return answer.toString();
    }
}
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;
  }
}
728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.