[프로그래머스 / JAVA] Level 1 이상한 문자 만들기 (12930)
게시글
⏰ 2021-12-18 09:27:43
D O W N

D O W N
랭크 | 사용 언어 |
---|---|
Level 1 | JAVA |
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
s | return |
---|---|
"try hello world" | "TrY HeLlO WoRlD" |
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.
문자를 단어별로 구분하여 홀수 문자는 소문자, 짝수 문자는 대문자로 치환하여 반환한다.
전체 문자열이 아니라, 문자열의 단어별로 반환하기 때문에, 공백으로 문자열을 구분하여 대소문자 치환을 수행하면 된다.
s를 한 글자씩 분리하여 반복문을 돌리고, 문자 인덱스를 비교하여 대소문자를 치환한다. 공백을 만날 경우 인덱스를 초기화한다.
JAVA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
/** * 이상한 문자 만들기 클래스 * * @author RWB * @since 2021.12.13 Mon 18:03:00 */ class Solution { /** * 해답 반환 메서드 * * @param s: [String] 문자열 * * @return [String] 해답 */ public String solution(String s) { String[] answer = s.split(""); int index = 0; for (int i = 0; i < answer.length; i++) { // 공백일 경우 if (answer[i].equals(" ")) { index = 0; answer[i] = " "; } // 문자열일 경우 else { // 짝수 인덱스일 경우 if (index % 2 == 0) { answer[i] = answer[i].toUpperCase(); } // 홀수 인덱스일 경우 else { answer[i] = answer[i].toLowerCase(); } index++; } } return String.join("", answer); } }
🏷️ Related Tag