Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코테
- 1레벨
- programmers
- toLowerCase
- 1lv
- Math.max
- Java
- 1단계
- string
- substring
- Linux
- PARSEINT
- 코딩테스트
- 짝수
- Math.min
- oracle
- 프로시저
- 프로그래머스
- StringBuffer
- SQL
- 알고리즘
- 오라클
- 1level
- Integer
- 디비
- 데이터베이스
- 참조형
- 배열
- 문자열
- 자바
Archives
- Today
- Total
웹 프로그래밍
[프로그래머스(Programmers)] 이상한 문자 만들기 - JAVA 본문
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백 문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳을 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
제한 사항
1. 문자열 전체의 짝 / 홀수로 인덱스가 아니라, 단어(공백을 기준)별로 짝 / 홀수 인덱스를 판단해야 합니다.
2. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
s | return |
"try hello world" | "TrY HeLlO WoRlD" |
입출력 예 설명
"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.
풀이
1) idx의 증가량을 통해서 공백의 기준으로 짝/홀수 인덱스를 판단했습니다.
class Solution {
public String solution(String s) {
String answer = "";
int idx = 0;
String[] arr = s.split(""); // s 문자열을 split()으로 나누어 배열로 반환
for(int i = 0; i < arr.length; i++) {
if(arr[i].equals(" ")) { // " "일 경우 인덱스를 0(짝수)으로 판단 -> 새 단어의 시작
idx = 0;
} else {
if(idx % 2 == 0) { // 단어의 짝수 인덱스일 경우
idx++;
arr[i] = arr[i].toUpperCase();
} else { // 단어의 홀수 인덱스일 경우
idx++;
arr[i] = arr[i].toLowerCase();
}
}
answer += arr[i];
}
return answer;
}
}
'프로그래머스 > level1' 카테고리의 다른 글
[프로그래머스(Programmers)] 정수 내림차순으로 배치하기 - JAVA (0) | 2021.11.11 |
---|---|
[프로그래머스(Programmers)] 자릿수 더하기 - JAVA (0) | 2021.11.07 |
[프로그래머스(Programmers)] 자연수 뒤집어 배열로 만들기 - JAVA (0) | 2021.11.04 |
[프로그래머스(Programmers)] 문자열 내 p와 y의 개수 - JAVA (0) | 2021.11.03 |
[프로그래머스(Programmers)] 같은 숫자는 싫어 - JAVA (0) | 2021.11.02 |