본문 바로가기
Algorithm/Programmers

JadenCase 문자열 만들기

by 동그란 혜주 2019. 6. 4.

· 문제 설명

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.

 

· 제한 조건

s는 길이 1 이상인 문자열입니다.
s는 알파벳과 공백문자(" ")로 이루어져 있습니다.
첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 )

 

· 입출력 예

s return
3people unFollowed me 3people Unfollowed Me
for the last week For The Last Week

 


· Thinking 1

split 함수 사용해서 공백 기준으로 나누기

class Solution {
  public String solution(String s) {
      String answer = "";
      String[] words = s.split(" ");
      
      for (int i = 0; i < words.length; i++) {
          for (int j = 0; j < words[i].length(); j++) {
              if (j == 0) {
                  answer += Character.toString(words[i].charAt(j)).toUpperCase();
              } else {
                  answer += Character.toString(words[i].charAt(j)).toLowerCase();
              }
          }
          
          if (i != words.length-1) {
              answer += " ";
          }
      }
      return answer;
  }
}

정확성 : 93.8 / 8 실패

 

- 질문하기 참고 :

8번은 마지막에 공백이 들어있는 것을 확인하는 것 같습니다. 저도 같은 문제가 있었는데 코드 다 실행하고 마지막에 공백이 존재하는지 확인하고 추가를 해주니 통과했네요

 

마지막에 공백이 있으면 추가하라는 말인가..?

 


· 완성 코드

class Solution {
  public String solution(String s) {
      String answer = "";
      String[] words = s.split(" ");
      
      for (int i = 0; i < words.length; i++) {
          for (int j = 0; j < words[i].length(); j++) {
              if (j == 0) {
                  answer += Character.toString(words[i].charAt(j)).toUpperCase(); 
                                       // Character.toUpperCase(words[i].charAt(j));
              } else {
                  answer += Character.toString(words[i].charAt(j)).toLowerCase();
              }
          }
          
          if (i != words.length-1) {
              answer += " ";
          }
      }
      
      if (s.substring(s.length() - 1, s.length()).equals(" ")) {
          answer += " ";
      }
      
      return answer;
  }
}

 


· 문제 출처

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

 

알고리즘 연습 - JadenCase 문자열 만들기 | 프로그래머스

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상인 문자열입니다. s는 알파벳과 공백문자(" ")로 이루어져 있습니다. 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 ) 입출력 예 s return 3people unFollo

programmers.co.kr

 

'Algorithm > Programmers' 카테고리의 다른 글

구명보트  (0) 2019.06.04
N개의 최소공배수  (0) 2019.06.04
H-Index  (0) 2019.06.04
124 나라의 숫자  (0) 2019.06.04
행렬의 덧셈  (0) 2019.05.31

댓글