Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- transaction
- db
- 백준
- Android
- 자바
- Spring Boot
- spring
- Servlet
- SpringBoot
- 그리디
- Exception
- 김영한
- 인프런
- 알고리즘
- QueryDSL
- Greedy
- java
- AOP
- JPQL
- JDBC
- springdatajpa
- Proxy
- 스프링
- http
- 스프링 핵심 기능
- 스프링 핵심 원리
- jpa
- Thymeleaf
- kotlin
- pointcut
Archives
- Today
- Total
개발자되기 프로젝트
[프로그래머스] JadenCase 문자열 만들기 본문
1. 문제
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때,
s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
- s는 길이 1 이상인 문자열입니다.
- s는 알파벳과 공백문자(" ")로 이루어져 있습니다.
- 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 )
입출력 예
s | return |
"3people unFollowed me" | "3people Unfollowed Me" |
"for the last week" | "For The Last Week" |
2. 문제 정리
- 각 단어의 첫 알파벳는 대문자, 나머지는 소문자
- 문자열 처음에 공백이 올 수 있음.
- split()을 사용하여 공백을 기준으로 나눠보자.
- split(기준 문자)를 사용하면 특정 문자(공백 가능)를 기준으로 문자열을 분리할 수 있다.
- 예를들어 "3people unFollowed me"를 " "를 기준으로 split하면 {"3people", "unFollowed", "me"}가 된다.
- "3people/unFollowed/me"
- 하지만 기준문자라 연속해서 여러 개 가 된다면..?
- 예를들어 "(공백)(공백)1Abc(공백)def"를 (공백)으로 나눠보자. 보기 변하게 편의상 " "을 (공백)으로 대체함.
- """/""/1Abc/def" 와 같이 분리된다.
- 즉 {"", "", Abc, def"}
3. 코드
import java.util.*;
class Solution {
public String solution(String s) {
StringBuilder builder = new StringBuilder();
//s = " 1Abc def";
s = s.toLowerCase();
String[] splited = s.split(" ");
for(int i=0; i< splited.length; i++){
if(splited[i].isEmpty()){
builder.append(" ");
}else{
builder.append(splited[i].substring(0, 1).toUpperCase());
builder.append(splited[i].substring(1, splited[i].length()) + " ");
}
}
//마지막에 추가된 공백 제외하기 위해.
return builder.toString().substring(0, s.length());
}
}
4. GitHub : 211220 JadenCase
'코테준비' 카테고리의 다른 글
코테준비 (0) | 2022.05.11 |
---|---|
[프로그래머스] 피보나치 수 (0) | 2021.12.20 |
[프로그래머스] 카카오프레즈 컬러링북 (0) | 2021.12.19 |
[프로그래머스] 문자열 압축 (0) | 2021.12.17 |
[프로그래머스] 이상한 문자 만들기 (0) | 2021.12.14 |
Comments