문제 설명
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건- s는 길이 1 이상 200 이하인 문자열입니다.
- s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
- 숫자는 단어의 첫 문자로만 나옵니다.
- 숫자로만 이루어진 단어는 없습니다.
- 공백문자가 연속해서 나올 수 있습니다.
- 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 )
s | return |
"3people unFollowed me" | "3people Unfollowed Me" |
"for the last week" | "For The Last Week" |
문제 풀이
문자열을 전부 소문자로 변환한다음 한글자씩 나누고 공백 다음 문자인 경우를 체크하여 대문자로 변환해주면 해결됩니다.이 문제의 경우 split(" ")로 나누었을 때 공백이 2칸이상 이어질 경우 배열에 공백 역시 포함될 수 있는 문제점을 체크해주는 문제입니다.
풀이 코드
class Solution {
public String solution(String s) {
String answer = "";
boolean flag = true;
for(String str : s.toLowerCase().split("")){
answer += flag ? str.toUpperCase() : str;
flag = str.equals(" ") ? true : false;
}
return answer;
}
}
<출처>
https://programmers.co.kr/learn/courses/30/lessons/12951
반응형
'프로그래머스 > Level2' 카테고리의 다른 글
[프로그래머스][SQL] 고양이와 개는 몇 마리 있을까? (0) | 2022.02.20 |
---|---|
[프로그래머스][SQL] NULL 처리하기 (0) | 2022.02.19 |
[프로그래머스][SQL] 중복 제거하기 (0) | 2022.02.18 |
[프로그래머스][SQL] 동물 수 구하기 (0) | 2022.02.18 |
[프로그래머스][SQL] 최솟값 구하기 (0) | 2022.02.18 |
댓글