-
프로그래머스 Lv.2) JadenCase 문자열 만들기알고리즘/프로그래머스 2020. 5. 21. 16:10반응형
JadenCase 문자열 만들기
코딩테스트 연습 - JadenCase 문자열 만들기
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건
programmers.co.kr
풀이
시작하는 단어에 대한 검증, 이후 이어지는 글자들에 대한 검증을 해서 Jaden Case로 바꿔주었다. 하지만 8번만 실패가 뜨길래 뭔가 했다.
결국 이 문제의 질문하기를 들어가보니 마지막에 " "와 같이 띄어쓰기가 주어지는 경우를 체크 해줘야 한다는 것이다.
split을 통해 한 단어(?)씩 Jaden Case를 만들어줬고, 마지막 띄어쓰기가 있을거라는 상상도 하지 않았다.. 정말..... 후..
1. split을 통해 띄어쓰기 당 문자를 잘라준다.
2. 각 문자에 대해 JadenCase를 만들어 return하고 StringBuffer에 붙인다.
3. 마지막 문자가 띄어쓰기가 아니라면, 마지막에 붙은 띄어쓰기는 제거해준다.
코드
class Solution { public String solution(String s) { StringBuffer answer = new StringBuffer(); String[] strArr = s.split(" "); for(String str : strArr) { answer.append(getJadenCase(str)).append(" "); } if(s.charAt(s.length()-1) != ' ') { answer.deleteCharAt(answer.length()-1); } return answer.toString(); } private String getJadenCase(String str) { StringBuffer sb = new StringBuffer(); for(int i=0; i<str.length(); i++) { char ch = str.charAt(i); if(i==0 && ch>=97) { ch -= 32; } else if(i !=0 && ch >=65 && ch<=96) {// 대문자 경우 ch += 32; } sb.append(ch); } return sb.toString(); } }
반응형'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 Lv.2) 올바른 괄호 짝지어 제거하기 (0) 2020.05.21 프로그래머스 Lv.2) N개의 최소공배수 (0) 2020.05.21 프로그래머스 Lv.2) 올바른 괄호 (0) 2020.05.19 프로그래머스 Lv.2) 가장 큰 정사각형 찾기 (0) 2020.05.19 프로그래머스 Lv.2) 땅따먹기 (0) 2020.05.19