Algorithm/Programmers

Programmers / Level 1 / 이상한 문자 만들기

Gyuri 2022. 6. 21. 21:41

[문제설명]

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

[제한사항]

  • 문자열 s의 길이 : 50 이하의 자연수
  • 문자열 s는 알파벳으로만 이루어져 있습니다.

[입출력 예]

s return
"try hello world" "TrY HeLlO WoRlD"

 

class Solution {
    public String solution(String s) {
        String answer = "";
        String[] arr = s.split(""); 
        
        int cnt = 0;
        for(int i=0; i<arr.length; i++) { // 각 단어 검사 
            cnt = arr[i].contains(" ") ? 0 : cnt + 1; 
            answer += cnt%2==0 ? arr[i].toLowerCase() : arr[i].toUpperCase();
        }
        
        return answer;
    }
}

 

주어진 테스트 케이스와 내가 직접 추가한 테스트 케이스는 통과 했는데,

몇몇 테스트 케이스에서 실패가 떴다.

다른 사람의 코드를 참고해서 다시 풀어봤다.

 

확실히 삼항연산자를 사용하면 코드가 간단해지는 것 같다.

삼항연산자를 익숙하게 사용할 줄 알면 코드를 짜는데 많은 도움이 될 것 같아서 쓰는 습관을 들여야겠다.