이상한 문자 만들기(띄어쓰기)

J·2021년 3월 22일
0

코딩테스트 연습

목록 보기
6/28

class Solution {
    public String solution(String s) {
        String answer = "";
        int j=0;
                          
        for(int i=0;i<s.length();i++){
            if(s.substring(i,i+1).equals(" ")) j= -1;         
            
            if(j%2==0) answer += s.substring(i,i+1).toUpperCase();
            else if(j%2!=0) answer += s.substring(i,i+1).toLowerCase();
            j++;         
        }       
        
        return answer;
    }
}

split 함수 이용하기

주어진 정규식과 일치하는 부분에서 문자열을 분할하여 배열에 저장한다.

split 함수 참고 https://jamesdreaming.tistory.com/84

class Solution {
    public String solution(String s) {
        String answer = "";
        int cnt = 0;
        String[] array = s.split("");

        for(String ss : array) {
            cnt = ss.contains(" ") ? 0 : cnt+1;
            answer += cnt%2 == 0 ? ss.toLowerCase() : ss.toUpperCase(); 
        }
      return answer;
  }
}

String[] array = s.split("");

얘는 인자값이 ""인 부분으로 봐서 그냥 단순히 string을 string배열로 만들어 주는 역할인듯 하다. 처음에는" "인줄 알고 띄어쓰기가 있을 때마다 새롭게 배열에 넣어주는 줄 알았는데 아니다.
toCharArray를 이용하면 데이터타입을 또 변환 시켜줘야 하기 때문에 이러한 방법을 쓴듯.

cnt = ss.contains(" ") ? 0 : cnt+1;

cnt+1을 cnt++로 했더니 안되고 ++cnt로 해야된다.

0개의 댓글