프로그래머스 Lv.1 이상한 문자 만들기

문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있다.
각 단어는 하나 이상의 공백문자로 구분되어 있다.
각 단어의 짝수번째 알파벳은 대문자로,
홀수번째 알파벳은 소문자로 바꾼 문자열을 return하라.
1. 문자열 전체의 짝/홀수 인덱스가 아니라,
단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야 한다.
2. 첫 번째 글자는 0번째 인덱스로 보아
짝수번째 알파벳으로 처리해야 한다.
s | result |
"try hello world" | "TrY HeLlO WoRlD" |
** 풀이 방법
s를 문자 하나하나로 나눠 s1이라는 배열에 저장한다.
String[] s1 = s.split("");
for문을 돌려 s1배열에 접근해서
원소가 공백이면 cnt를 0으로
아니면 cnt가 1씩 증가하게 설정한다.
공백이 0이므로 인덱스로 생각하지 않고
문자의 순서로 생각해서
cnt가 짝수이면 소문자로
홀수이면 대문자로 변경해서 answer에 더한다.
for(String i : s1) {
cnt = (i.equals(" ") ? 0 : cnt+1);
answer += (cnt%2==0 ? i.toLowerCase() : i.toUpperCase());
}
<> 전체 코드 </>
class Solution {
public String solution(String s) {
String answer = "";
int cnt = 0;
String[] s1 = s.split("");
for(String i : s1) {
cnt = (i.equals(" ") ? 0 : cnt+1);
answer += (cnt%2==0 ? i.toLowerCase() : i.toUpperCase());
}
return answer;
}
}
반응형
'개발로그 > 알고리즘' 카테고리의 다른 글
[DFS] 백준 DFS와 BFS 1260번 (0) | 2023.08.09 |
---|---|
탐색 (0) | 2023.08.09 |
프로그래머스 Lv.1 명예의 전당 (1) (0) | 2023.08.08 |
[그리디] 백준 잃어버린 괄호 1541번 (0) | 2023.08.05 |
[그리디] 백준 ATM 11399번 (0) | 2023.08.04 |
댓글