have to/자바 알고리즘

배열에서 문자열 대소문자 변환하기

chaeyoung- 2023. 10. 18. 10:45

 

배열에서 문자열 대소문자 변환하기

 

Stream 함수를 모르는 사람들이 있을 수 있고, 라이브러리를 임포트하여 사용해야 하기 때문에,
가독성과 짧은 코드를 위해 삼항 연산자를 활용한 코드가 가장 적절한 것 같다.

 

1. if ~ else()문 활용

class Solution {
    public String[] solution(String[] strArr) {
        int length = strArr.length;
        String[] answer = new String[length];

        for(int i=0; i<length; i++){
            if(i%2==1){ // 홀수일 경우
                answer[i] = strArr[i].toUpperCase();
            }else { // 짝수일 경우
                answer[i] = strArr[i].toLowerCase();
            }
        }

        return answer;
    }
}

 

 

2. 삼항 연산자 활용

class Solution {
    public String[] solution(String[] strArr) {
        
        for(int i=0; i<strArr.length; i++){
            strArr[i] = (i%2==1) ? strArr[i].toUpperCase() : strArr[i].toLowerCase();
        }
        
        return strArr;
    }
}

 

 

3. Stream 함수 활용

import java.util.Arrays;
import java.util.stream.IntStream;

class Solution {
    public String[] solution(String[] strArr) {
                return IntStream.range(0, strArr.length)
                    .mapToObj(i -> i % 2 == 0 ? strArr[i].toLowerCase() : strArr[i].toUpperCase())
                    .toArray(String[]::new);
        
    }
}