승띵이의 개발일지
[프로그래머스/Java] 이상한 문자 만들기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12930
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.제한 사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
코드
class Solution {
public String solution(String s) {
String answer = "";
s = s.toLowerCase();
String[] str = s.split("");
int space = 0;
for (int i = 0; i < str.length; i++) {
if(str[i].equals(" ")){
space = 0;
} else if (space % 2 == 0) {
str[i] = str[i].toUpperCase();
space++;
} else {
space++;
}
answer += str[i];
}
return answer;
}
}
나의 풀이
1. 일단 파라미터 s를 소문자로 변환하였다.
2. 그 후 한 글자씩 잘라서 새로운 배열 str에 저장하였다.
3. 공백 변수 int space를 만들었다.
4. str의 길이만큼 for문을 돌려서 만약 str[i]가 공백이라면 space를 0으로 초기화.
5. space가 짝수이면 str[i]를 toUpperCase() 메서드를 사용하여 대문자로 만들어서 저장 후 space++
6. str[i]가 홀수이면 space++ 수행
7. 그리고 answer에 str[i]를 더해준다.
8. answer 리턴
한줄평
최근에 푼 문제중에 젤 오래 풀었다. 거의 머 4~5시간은 생각한듯.. 학원에서 다른 사람들도 머리 싸매고 못풀고 있는거 보고 위안을 삼았지만 그 중에선 내가 젤 늦게 풀었다는 사실... 오기로 구글링 안하긴 했는데 이게 맞나 싶었던 문제..ㅋ
근데 풀고나서 보니까 왤케 쉬워보이냐 열받게
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Java] 분수의 덧셈 (0) | 2022.10.25 |
---|---|
[프로그래머스/Java] 문자열 내 p와 y의 개수 (0) | 2022.10.25 |
[프로그래머스/Java] 정수 제곱근 판별 (0) | 2022.10.23 |
[프로그래머스/Java] 약수의 합 (0) | 2022.10.21 |
[프로그래머스/JAVA] 짝수와 홀수 (0) | 2022.10.21 |