본문 바로가기

카테고리 없음

[프로그래머스] 이상한 문자 만들기_ JAVA

● 문제

 

 


 

● 풀이

 

class Solution {
    public String solution(String s) {
        
        //s의 문자열 하나씩 배열에 입력
        String[] arr = s.split("");
        
        int idx = 0;
        
        StringBuilder sb = new StringBuilder();
        
        for(int i = 0; i< arr.length; i++){
            if(arr[i].equals(" ")){
                idx = 0;
            }else if (idx % 2 == 0){
                arr[i] = arr[i].toUpperCase();
                idx++;
            }else{
                arr[i] = arr[i].toLowerCase();
                idx++;
            }
                
            sb.append(arr[i]);
        }
        
        return sb.toString();
    }
}

 

 

● 리뷰

 

문자열을 띄어쓰기를 기준으로 잘라서 배열에 문자열로 저장해서, 대소문자 변환을 시킨뒤 띄어쓰기를 해서 붙여야 하나 생각했는데, 그것은 코드가 좀 복잡해질 것 같고 구글링을 해보니 위와 같이 간단한 방식을 찾았다.

 

문자 하나씩 배열에 저장하여 띄어쓰기가 있으면 인덱스 변수값을 0으로 초기화 시키고, 각 문자열의 인덱스 값이 홀수인지 짝수인지 구분하여 대소문자 변환을 시킨다.

 

 

문자열끼리 비교할 때  == 연산자를 쓰는 실수를 한다.. 문자열은 참조 자료형이므로 같은지 비교할 때는 equals( ) 메서드 사용하자!!!!!!!!!