-
[알고리즘] 프로그래머스 2단계 - adenCase 문자열 만들기Algorithm 2024. 5. 17. 16:07
프로그래머스 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12951
문제 설명
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다.
예제
s
"3people unFollowed me"
return
"3people Unfollowed Me"
class Solution { public String solution(String s) { // split 할때 마지막 공백 처리 위한 임시 값 s += "t"; // 공백 간격으로 자르기 String[] sentence = s.split(" "); StringBuilder sb = new StringBuilder(); for (int i = 0; i < sentence.length; i++) { // 공백 아스키 코드 char firstChar = 32; // 공백 아닌경우 아스키 코드 변환 if (!sentence[i].isEmpty()) { firstChar = sentence[i].charAt(0); } // 공백인 경우 if(firstChar == 32) { sb.append(""); // 소문자나 대문자인 경우 } else if ((65 <= firstChar && firstChar <= 95) || (97 <= firstChar && firstChar <= 122)) { sb.append(String.valueOf(firstChar).toUpperCase()); sb.append(sentence[i].substring(1).toLowerCase()); // 소문자로 더하기 } else { sb.append(sentence[i].toLowerCase()); } // 매 값에 공백 더하기 sb.append(" "); } // 마지막에 공백과 위에서 처음에 더한 문자 제거 sb.delete(sb.length() - 2, sb.length()); return sb.toString(); } }
코드 작성시 중간에 들어가는 여러 공백과 마지막에 들어가는 공백 주의하여 작성해야한다.
'Algorithm' 카테고리의 다른 글
[알고리즘] 프로그래머스 2단계 - 짝지어 제거하기 (0) 2024.05.21 [알고리즘] 프로그래머스 2단계 - 주식 가격 (0) 2024.05.20 [알고리즘] 프로그래머스 1단계 - [PCCE 기출문제] 10번 / 데이터 분석 (2) 2024.05.16 [알고리즘] 프로그래머스 0단계 - [PCCE 기출문제] 5번 / 산책 (0) 2024.05.16