👉 문자열 처리에서 "공백 보존"이라는 디테일과 "단어 단위 인덱스 리셋"을 제대로 구현할 수 있는지를 확인하기 위한 문제
요구사항
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
접근 방법
- 짝수번째, 홀수번째 문자를 변환 하는 메서드를 분리
- 공백 기준으로 문자를 String 배열로 생성
- String 배열을 for문을 통해 char 배열로 변환 한 뒤 대문자, 소문자 변환
- 최종 대문자, 소문자 변환 한 String 배열을 String으로 생성
실패 포인트
- 처음 제시된 문자열 뒤에 공백이 있을 경우 단순 split(" ")만 하였는데 이럴 경우 최종 return 되는 문자열이 마지막 공백이 제거 되어서 return 되는 문제 발생 따라서 split(" ",-1) 로 수정 하여 제시된 원본 문자열을 그대로 보존
최종 코드
이상한 문자 코드 Git 링크