-
[프로그래머스] JadenCase 문자열 만들기ALGORITHM/PROGRAMMERS 2021. 7. 21. 22:11
https://programmers.co.kr/learn/courses/30/lessons/12951
2021-07-21
1. String
12345678910111213public static String solution(String s) {String answer = "";if(s.length() == 0) return "";String[] arr = s.toLowerCase().split(" ");for(int i = 0; i < arr.length; i++) {if(arr[i].length() > 0) {answer += arr[i].replaceFirst(String.valueOf(arr[i].charAt(0)), String.valueOf(arr[i].charAt(0)).toUpperCase());answer += (i == arr.length-1 && s.charAt(s.length()-1) != ' ') ? "" : " ";} else answer += " ";}return answer;}cs 2. StringBuilder
12345678910111213public static String solution(String s) {StringBuilder answer = new StringBuilder();if(s.length() == 0) return "";String[] arr = s.toLowerCase().split(" ");for(int i = 0; i < arr.length; i++) {if(arr[i].length() > 0) {answer.append(arr[i].replaceFirst(String.valueOf(arr[i].charAt(0)), String.valueOf(arr[i].charAt(0)).toUpperCase()));answer.append((i == arr.length - 1 && s.charAt(s.length() - 1) != ' ') ? "" : " ");} else answer.append(" ");}return answer.toString();}cs #문제풀이
String과 StringBuilder 두 방법으로 돌려봤다.
0. 만약 들어온 값의 length가 0이면 그냥 빈 값을 return 한다.
1. 문자를 모두 LowerCase로 바꾼 후, " " 공백을 기준으로 split하여 String 배열에 넣는다.
2. String arr를 돌면서, 값이 0보다 큰 경우와 0인 경우로 나눠서 생각한다.
2-1. 값이 0보다 큰 경우, 맨 앞에 문자를 upperCase로 바꾸고, 나머지는 그대로 사용한다. 그리고 맨 마지막 문자가 아닌 경우 뒤에 " " " 공백 문자를 붙여준다.
2-2. 값이 0인 경우, 공백이라는 의미 이므로 그냥 " " 공백 문자를 추가해준다.
만약, 답이 제대로 안 나오면
테스트로 "aaaa aa a aaa a a a "를 돌려서 "Aaaa Aa A Aaa A A A " 이렇게 나오는지 체크 해보면 틀린점을 발견할 수도 있다.
'ALGORITHM > PROGRAMMERS' 카테고리의 다른 글
[프로그래머스] 최댓값과 최솟값 (0) 2021.07.22 [프로그래머스] 카펫 (0) 2021.07.22 [프로그래머스] 거리두기 확인하기 (2021 카카오 채용연계형 인턴십) (0) 2021.07.19 [프로그래머스] 멀쩡한 사각형 (Summer/Winter Coding(2019)) (0) 2021.07.16 [프로그래머스] 숫자 문자열과 영단어 (2021 카카오 채용연계형 인턴십) (0) 2021.07.15