Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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 more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 이상한 문자 만들기 (자바/Java) 본문

알고리즘문제/프로그래머스(Java)

[프로그래머스] - 이상한 문자 만들기 (자바/Java)

luke-king 2024. 5. 25. 16:15

 

 

 

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/12930

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


 

class Solution {
    public String solution(String s) {
        String answer = "";
        String[] split = s.split("");
        
        int cnt = 0;
        for (int i = 0; i < split.length; i++) {
            if (split[i].equals(" ")) {
                cnt = 0;
            }else if (cnt % 2 == 0) {
                split[i] = split[i].toUpperCase();
                cnt++;
            } else(cnt % 2 != 0) {
                split[i] = split[i].toLowerCase();
                cnt++;
            }
            answer += split[i];

        }
        return answer;
    }
}

 

오늘 문제는 " 이상한 문자 만들기 "이다.

이번 문제는 공백을 기준으로 홀수 짝수를 대문자는 소문자로, 소문자는 대문자로 바꾸는 문제다.

하지만 길이는 0부터 시작하므로 0은 짝수로 포함시켜 대문자로 바꿔줘야 한다.

그럼 문제 풀이를 해보겠다.

 

1. 입력한 문자열을 split() 함수를 사용해 배열로 받아준다.

 

2. cnt 변수를 만들어 각 인덱스 조건에 맞춰 준다.

 

3. 첫 번째 조건식에는 split() 함수를 사용해 공백이 나올 경우 cnt를 0으로 초기화해준다.

이유는 공백 기준으로 문자열을 나눠 문자열 길이를 0부터 다시 시작해야 하기 때문이다.

 

4. 두 번째 조건식은 cnt % 2 나머지가 0 일경우 짝수이기에 대문자로 바꿔주고 cnt 가 0 일경우에도 0 이 나오므로 대문자로 바꿔준다.

 

5. 나머지 조건은 cnt % 2 나머지가 0 이 아닐 경우 홀수이기에 소문자로 바꿔준다. 그럼 끝이다.