-
[프로그래머스 Level2][Java] JadenCase 문자열 만들기Coding Test/Programmers 2021. 12. 9. 16:53
JadenCase 문자열 만들기
- 주어진 문자열에서 모든 단어의 첫 번째를 대문자로 바꿔 리턴하는 문제
※ 생각하기
- 단어의 첫 번째 글자는 대문자
- 한 글자씩 확인하여 판단하기
- 공백을 기준으로 대문자 만들기
※ 풀이법
1) 문자열을 더하기 때문에 answer를 StringBulider 객체로 바꾸기
1) 문자열 모두 소문자로 변환
2) 문자열의 길이만큼 for문을 돌리면서 한 글자씩 잘라서 조건에 따라 판단한다.
- 첫 번째 글자와 이전 글자가 공백일 경우에 해당 글자를 대문자로 바꾸고 append()로 answer에 더해준다.
- 나머지(숫자 , 공백)는 그냥 append()로 answer에 더해준다.
3) toString()으로 answer을 String 타입으로 변환 후 리턴한다.
Level1에서도 많이 풀어보았던 문자열을 다루는 문제다.
문자열을 자르고 대문자의 조건을 어떻게 둘 건지 생각만 잘하면 풀이가 쉬운 문제인 것 같다.
StringBuilder가 문자를 더하거나 삭제하거나 등 문자열을 다룰 때 String보다 효율적이라고 한다. 비슷한 문제가 또 있다면
사용해보면서 버릇을 들여야겠다.

/** * 2021-12-09 * 프로그래머스 level2 : JadenCase 문자열 만들기 */ public class Solution { // 결과 확인을 위함 public static void main(String[] args) { Solution st = new Solution(); System.out.println(st.solution("3people unFollowed me")); } public String solution(String s) { StringBuilder answer = new StringBuilder(); // 소문자로 변환 s = s.toLowerCase(); for(int i=0; i<s.length(); i++) { // 첫 번째 글자거나 이전 문자가 공백일 경우 해당 문자를 대문자로 if(i == 0 || s.charAt(i-1) == ' ') { answer.append(String.valueOf(s.charAt(i)).toUpperCase()); // 나머지는 그냥 더해주기 }else { answer.append(s.charAt(i)); } } return answer.toString(); } }'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스 Level2][Java] N개의 최소공배수 (0) 2021.12.09 [프로그래머스 Level1][Java] 다트 게임 (0) 2021.12.08 [프로그래머스 Level1][Java] 크레인 인형뽑기 게임 (0) 2021.12.08 [프로그래머스 Level1][Java] 실패율 (0) 2021.12.08 [프로그래머스 Level1][Java] 신규 아이디 추천 (0) 2021.12.08