-
[Programmers/Java] JadenCase 문자열 만들기 - A0412022_PPS/3주차 2023. 1. 19. 11:39
- 문제

- 알고리즘
문제만 봤을 때는 엄청 쉬워보였는데, 테스트 케이스들이 많아 힘들었다.
일단 문자열을 split할 때 limit을 음수로 두어 모든 구분자를 구분 하도록 하였다.(즉, 마지막에 구분자가 와도 구분하도록!)
그리고 문자열에서 공백이 2번이상 반복되어 아무것도 없는 배열이 생겼을 때는 comtinue를 통해 그냥 지나가도록 했다.
나머지는 모두 소문자로 만든 후 문자열을 char배열로 만들었다.
첫 글자가 숫자가 아닌 소문자라면 대문자로 변경해 준다.
그리고 char배열을 String으로 만들어 다시 str배열에 넣어준다.
이후 str을 answer에 넣고 공백을 함께 넣어준다.
공백이 조금 힘들었었다.
공백문자가 연속해서 나오게 되면 해결하기가 에매 했는데, split에 limit을 음수로 두면서 해결되었다.
- 코드
class Solution { public String solution(String s) { String answer = ""; String[] str = s.split(" ", -1); for(int i = 0; i<str.length; i++){ if(str[i].equals("")) continue; str[i] = str[i].toLowerCase(); char[] array = str[i].toCharArray(); if(array[0] >= 97) array[0] = (char)(array[0]-32); str[i] = new String(array); } for(int i = 0; i<str.length-1; i++) answer += str[i] + " "; answer += str[str.length-1]; return answer; } }'2022_PPS > 3주차' 카테고리의 다른 글
[BaekJoon/Java] 2822. 점수 계산 - A077 (0) 2023.01.19 [BaekJoon/Java] 4659. 비밀번호 발음하기 - A049 (0) 2023.01.19 [BaekJoon/Java] 10828. 스택 - A053 (2) 2023.01.18 [BaekJoon/Java] 11656. 접미사 배열 - A084 (0) 2023.01.18 [BaekJoon/Java] 10867. 중복 빼고 정렬하기 - A083 (0) 2023.01.18