** 이 글을 읽음에 앞서 포스팅 된 소스가 100% 정답은 아님을 밝힙니다.
더욱 유능한 분께서 클린 / 최적의 소스를 짜셨을 가능성이 높습니다.
기록용으로 남기며, 참고만 부탁드립니다.
** 백준 알고리즘은 직접 풀이를 해보시는 것을 권장합니다.
● 문제
난이도[티어] : LEVEL 2
프로그래머스 JadenCase 문자열 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/12951
● 풀이 방법
String 데이터타입으로 건내받은 문장에서 각 단어들의 시작 점을 구별하여
toUpperCase와 toLowerCase를 적절히 사용하면 풀 수 있다.
● 소스 코드
import static java.lang.Character.toUpperCase;
class Solution {
public String solution(String s) {
s = s.toLowerCase();
char[] arr = s.toCharArray();
arr[0] = toUpperCase(arr[0]);
boolean needUpper = false;
for(int i = 0; i<arr.length-1; i++){
if(arr[i] == ' ')
arr[i+1] = toUpperCase(arr[i+1]);
}
String str = String.valueOf(arr);
return str;
}
}
매개변수로 건내받은 String 데이터 타입의 s에서 문장을 Split을 통해 잘라낼 수 있으나,
리턴값이 String 이기에 따로 Split으로 자르지 않고 ' '를 기반으로 단어의 시작점을 잡았다.
우선 전체 단어들을 모두 소문자로 변환 시켰고, String s의 첫번째 글자와 ' '이후의 다음 글자를 대문자로 변환 시켰다.
사용한 메서드
toLowerCase()
toUpperCase()
str.toLowerCase() // -> 소문자 변환
str.toUpperCase() // -> 대문자 변환
참조 : https://www.w3schools.com/java/ref_string_tolowercase.asp
참조 : https://www.w3schools.com/java/ref_string_touppercase.asp
● 결과
'프로그래머스 > JAVA11' 카테고리의 다른 글
[프로그래머스 | JAVA ] LV. 3 : 네트워크 (0) | 2024.07.25 |
---|---|
[프로그래머스 | JAVA ] LV. 2 : 타겟 넘버 (0) | 2024.07.24 |
[프로그래머스 | JAVA ] LV. 2 : 최댓값과 최솟값 (0) | 2024.07.21 |
[프로그래머스 | JAVA ] LV. 1 : 부족한 금액 계산하기 (0) | 2024.07.17 |
[프로그래머스 | JAVA ] LV. 2 : 올바른 괄호 (0) | 2024.07.12 |