Hayden's Archive

[알고리즘] 프로그래머스 : 이상한 문자 만들기 본문

Algorithm

[알고리즘] 프로그래머스 : 이상한 문자 만들기

_hayden 2021. 2. 19. 21:28

알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/12930

 

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

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

programmers.co.kr

 

내가 작성한 코드

문제를 특히나 잘 읽어야 하는 문제... 쉽다고 생각하고 자신있게 제출했는데 실패가 와장창 떠서 당황했었다. 반례를 잘 고려해야 한다.

각 단어는 "하나 이상의 공백문자"로 구분되어 있다. 그러므로 문자열의 앞, 뒤, 중간에 2개 이상의 공백문자가 들어간 경우를 고려해야 한다. 또한 그 공백문자 역시 그대로 출력해내야 한다. 

class Solution {
    public String solution(String s) {
        String answer = "";
        String[] wordArr = s.split("");
        int idx = 0;
        for(int i=0; i<wordArr.length; i++) {
        	if(wordArr[i].equals(" ")) {
        		idx = 0;
        		answer += " ";
        	}else {
        		if(idx % 2 == 0) {
        			answer += wordArr[i].toUpperCase();
        		}else {
        			answer += wordArr[i].toLowerCase();
        		}
        		idx++;
        	}
        }
        return answer;
    }
}