6번

nacSeo (낙서)·2022년 11월 24일
0

DailyCoding

목록 보기
6/28

문자열을 입력받아서 각 단어의 첫 글자를 대문자로 리턴하는 문제였는데, 연속된 공백이 존재할 수도 있다는 게 포인트였다.
앞서 공부했던 split()을 사용해서 공백란 기준으로 끊은 다음, 각 인덱스의 charAt(0)번째 요소를 toUpperCase()함수를 사용해서 대문자로 바꾸어줬는데 연속된 공백이 존재할 때의 테스트케이스에서 오류가 발생했다 😭
다른 좋은 방법이 없을까 고민하다 구글링을 해봤는데, StringBuildertrim()함수를 사용하여 작성하는 방법이 있었다. StringBuilder같은 경우는 앞서 공부를 해봤고, trim()에 대해 알아보자면,

trim() : 문자열의 공백을 제거

해주는 함수이다. 주의할 점으로 trim은 맨 왼쪽과 오른쪽의 공백만 제거해주므로, 가운데 공백은 replace()함수를 통해 제거시켜주면 되겠다.

레퍼런스 코드에서는 내가 처음 생각해낸 방법과 같이 split()을 사용하였는데, 우선, 자른 배열 중 비어있는 값은 그대로 나오게하고, 단어가 있다면, String.valueOf()를 통해 자른 첫 문자를 대문자로 바꿔주고 거기다 substring()으로 뒤쪽부터의 문자들을 더했다.
마지막으로 결과값에 해당 배열을 String.join()으로 넣어주어 반환시켰다.

join() : 배열의 모든 값들을 연결한 문자열 리턴
※ 인자를 받아 그 인자로 값들 사이사이를 연결해줌

profile
백엔드 개발자 김창하입니다 🙇‍♂️

0개의 댓글