[프로그래머스 / JAVA] Level 1 이상한 문자 만들기 (12930)
⏰ 2021-12-18 (토) 18:27:43
이상한 문자 만들기
랭크 | 사용 언어 |
---|---|
Level 1 |
문제 설명
문자열 s
는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution
을 완성하세요.
제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
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); } }
🏷️ 태그
# 프로그래머스
# 알고리즘
# JAVA(자바)
# Level 1
읽어주셔서 고마워요!
도움이 되셨다면, 공감이나 댓글을 달아주시는 건 어떤가요?
블로그 운영에 큰 힘이 됩니다.