교육/코테

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

가이버2 2022. 6. 28. 15:45

참고 : 

String[] s1 = s.split(" ", -1); 공백 추가 함수.

링크 : 

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

 

코딩테스트 연습 - 이상한 문자 만들기

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

programmers.co.kr

import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

class Solution {
    public String solution(String s) {
        String answer = "";
        String[] s1 = s.split(" ", -1);
        answer = Arrays.stream(s1)
                .map(this::processString)
                .collect(Collectors.joining(" "));
        return answer;
    }
    public String processString(String sParam){
        if(sParam.contains(" ")) return sParam;
        return IntStream.range(0, sParam.length())
                .mapToObj(index -> {
                    String s = String.valueOf(sParam.charAt(index));
                    if (index % 2 == 0) return s.toUpperCase();
                    else return s.toLowerCase();
                })
                .collect(Collectors.joining(""));
    }
}