반응형
문제 링크 👉 프로그래머스 - 이상한 문자 만들기
📝 1. 문제의 핵심 요약
주어진 문자열 s
에서 각 단어의 짝수 번째 알파벳은 대문자, 홀수 번째 알파벳은 소문자로 변환해야 합니다. 여기서 짝/홀수는 문자열 전체 기준이 아니라, 단어별 기준입니다. 공백은 그대로 유지해야 합니다.
예시:
- 입력 →
"try hello world"
- 출력 →
"TrY HeLlO WoRlD"
⚠️ 2. 주의 사항
- 단어는 공백(' ')으로 구분되며, 공백의 개수는 한 개 이상일 수 있습니다.
- 각 단어에서 인덱스 0부터 짝/홀을 판단합니다.
- 공백은 그대로 두고 처리합니다.
🛠️ 3. 슈도코드
1. 문자열을 문자 배열로 변환한다.
2. 문자 배열을 순회하며:
a. 공백이면, 짝/홀수 인덱스 카운터를 0으로 초기화하고 공백을 결과에 추가한다.
b. 공백이 아니면,
i. 짝수 인덱스 → 대문자 변환
ii. 홀수 인덱스 → 소문자 변환
iii. 결과에 추가
iv. 인덱스 카운터 증가
3. 결과 문자열을 반환한다.
💬 4. 주석 포함 코드
class Solution {
public String solution(String s) {
// 문자열 → 문자 배열로 변환
char[] chars = s.toCharArray();
int i = 0; // 단어별 인덱스
StringBuilder sb = new StringBuilder();
for(char c : chars){
if(c == ' '){
// 공백일 경우 인덱스 초기화
i = 0;
sb.append(c);
}
else{
// 짝수 인덱스: 대문자, 홀수 인덱스: 소문자
c = (i % 2 == 0) ? Character.toUpperCase(c) : Character.toLowerCase(c);
sb.append(c);
i++; // 단어 내 인덱스 증가
}
}
return sb.toString();
}
}
728x90
반응형
'PCCP > 프로그래머스' 카테고리의 다른 글
[프로그래머스 JAVA] 시저 암호 (0) | 2025.05.03 |
---|---|
[프로그래머스 JAVA] 자연수 뒤집어 배열로 만들기 (0) | 2025.05.03 |
[프로그래머스 JAVA] 안전지대 (0) | 2025.05.03 |
[프로그래머스 JAVA] 삼각 달팽이 (0) | 2025.04.28 |
[프로그래머스 JAVA] 교점에 별 만들기 (0) | 2025.04.27 |