💡 오늘의 학습 키워드
- 문자열
✅ 오늘 공부한 내용
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 오늘의 프로그래머스 문제! JadenCase 문자열 만들기
👀 오늘의 회고
🤣 오늘의 문제점
- replace를 여러개 사용했다가 시간 초과로 실패를 했다.
더보기
import java.util.*;
class Solution {
public String solution(String s) {
// 제이든 케이스
// 모든 단어의 첫문자는 대문자
// 그외는 모두 소문자
// 첫 문자가 알파벳이 아닐 때 이어지는 알파벳은 소문자
s = s.replace(" ", "*");
String[] so = s.split("\\*");
String[] ss = s.split("\\*");
//System.out.println(Arrays.toString(ss));
for(int i = 0; i < ss.length; i++){
ss[i] = (ss[i].charAt(0) + "").toUpperCase() + ss[i].substring(1, ss[i].length()).toLowerCase();
s = s.replace(so[i], ss[i]);
//System.out.println(s);
}
String answer = s.replace("*", " ");
return answer;
}
}
🔥 어떤 시도를 했는가?
- 그 이후 메모리 초과 된 것을 해결 하기 위해 StringBuilder로 바꾸어 주었다.
- 공백이 나올 시 boolean으로 값을 받아 첫번째 단어인지 확인해 주었다.
- 대문자, 소문자 변환을 해주었다.
👏 무엇을 새로 알았는가?
- StringBuilder 활용법
// StringBuilder 선언
StringBuilder sb = new StringBuilder();
// 문자 붙여 주기
sb.append(s.charAt(i));
// String으로 변환해서 저장해주기
String answer = sb.toString();
- 대문자, 소문자 변환하기
// 대문자 변환
sb.append((s.charAt(i) + "").toUpperCase());
// 소문자 변환
sb.append((s.charAt(i) + "").toLowerCase());
- split 사용 시 기호 사용 주의할 점
- 풀다가 java.util.regex.PatternSyntaxException라는 오류가 생겼었다.
- 알고보니 특수 문자를 split으로 자르려 하다가 생긴 오류였다.
- 원인은 메타 문자로 들어가는 일부 특수문자 ?, *, (, ), [, ], {, }와 같은 문자들 때문이었다!
- 해결법은 앞에 \\를 붙여주는 방법!
- 그러면 문제 없이 돌아간다.
s = s.split("\\*");
- 알고 있던 개념이지만 복습 기념으로 정리하기!
- 그런데 다른 사람 풀이보기를 하니 더 간단하게 푸신 분들이 많았다.
- 예를 들어 삼항 연산자를 이용한 변환이라던가..
- 정규식 표현으로 구분한다던가..
- 등의 깔끔한 풀이법들이 눈을 사로잡았다..! 나도 다음번에는 기필코 써봐야지 라고 생각했다 😙
👩💻 내일은 무엇을 학습할 것인가?
- 내일은 항해 문제 풀고 til 적기
- 프로그래머스 문제 마저 풀기
- 밀린 책 읽기..
- 원티드 강의 및 사전 미션 먼저 어떻게 해볼지 보기
- 다음 주는 어떻게 계획하여 지낼지 미리 고민하기
'개인 공부 > TIL' 카테고리의 다른 글
[ TIL - PGS ] 99클럽 코테 스터디 6일차 TIL + 오늘의 학습 가이드 (0) | 2024.07.27 |
---|---|
[ TIL - PGS ] 99클럽 코테 스터디 5일차 TIL + 오늘의 학습 가이드 (0) | 2024.07.26 |
[ TIL - PGS ] 99클럽 코테 스터디 3일차 TIL + 오늘의 학습 가이드 (0) | 2024.07.24 |
[ TIL - PGS ] 99클럽 코테 스터디 2일차 TIL + 오늘의 학습 가이드 (0) | 2024.07.23 |
[ TIL - PGS ] 99클럽 코테 스터디 1일차 TIL + 오늘의 학습 가이드 (0) | 2024.07.22 |