원하는 것은 뭐든지
99클럽 코테 스터디 4일차 TIL , JadenCase 문자열 만들기 본문
반응형
문제
풀이
문장이 주어지고 단어의 시작이 대문자여야 한다.
단어의 시작이 숫자면 그대로 두고 뒤에 문자들은 소문자여야 한다.
1. 숫자는 단어의 첫 문자로만 나옵니다.
2. 숫자로만 이루어진단어는 없습니다.
두 개의 조건은 상관이 없었는데
3. 공백문자가 연속해서 나올 수 있습니다.
이 조건을 간과해서 조금 오래 걸렸다.
제출 - 정답
StringBuilder를 사용해서 answer 객체를 선언하고, 문장을 lowercase변환 후 charArray로 변환한다.
첫 번째 문자가 조건에 맞는다면 uppercase 변환 후 넣어준다.
한 문자씩 넣으면서 이전 문자가 공백이었고 현재 문자가 lowercase면 uppercase로 변환한 후 넣어준다.
class Solution {
public String solution(String s) {
StringBuilder answer = new StringBuilder();
String lowerCase = s.toLowerCase(); //소문자로 전부 바꿔주기
char[] chrArr = lowerCase.toCharArray(); //charArray로 변환
//첫 글자 변환
if(Character.isLowerCase(chrArr[0])) chrArr[0] = (char)(chrArr[0] - 32);
answer.append(chrArr[0]);
for(int i=1;i<chrArr.length;i++){
//이전 문자 공백이고 지금 문자 숫자 아니면 대문자 변환
if(Character.isWhitespace(chrArr[i-1]) && Character.isLowerCase(chrArr[i])){
chrArr[i] = (char)(chrArr[i] - 32);
}
answer.append(chrArr[i]);
}
return answer.toString();
}
}
TIL
- StringBuilder와 Character 클래스의 메서드를 다시 익힐 수 있었다.
- 세 번째 제한조건을 제대로 인지하지 않아서 오랜 시간문제를 풀었는데, 문제를 완전히 이해한 후에 풀이를 시작해야겠다.
반응형
'개발 > 문제풀이' 카테고리의 다른 글
99클럽 코테 스터디 6일차 TIL , 의상 (0) | 2024.07.27 |
---|---|
99클럽 코테 스터디 5일차 TIL , 전화번호 목록 (0) | 2024.07.26 |
99클럽 코테 스터디 3일차 TIL , 문자열 내 마음대로 정렬하기 (4) | 2024.07.24 |
99클럽 코테 스터디 2일차 TIL , x만큼 간격이 있는 n 개의 숫자 (1) | 2024.07.23 |
99클럽 코테 스터디 1일차 TIL , n^2 배열 자르기 (4) | 2024.07.22 |
Comments