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

김소은·2024년 7월 7일

알고리즘

목록 보기
39/55
post-thumbnail

프로그래머스의 Lv.1 이상한 문자 만들기 문제 풀이

문제 설명

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

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

문제 풀이
"JadenCase 문자열 만들기" 문제와 비슷한 문제로 배열로 만든 단어들을 순회하여 해당 단어의 알파벳의 인덱스가 짝수인지 홀수 인지 확인하여 대문자, 소문자로 변환한다. 그리고 중요한 것은 공백을 만드는 것인데 마지막 단어 전까지 단어가 끝날 때마다 공백을 넣었다.
전에 풀었던 문제와 비슷한 계열이어서 매일매일 코테를 푸는 효과가 나타나는 것 같아 기분이 좋았다. 이제 문제를 보고서 어떤 흐름으로 문제를 풀어야할지 감이 잡히는거 같다.

코드

public String solution(String s) {
   StringBuilder sb = new StringBuilder();
   String[] words = s.split(" ", -1);

   for (int i = 0; i < words.length ; i++) {
     String word = words[i];
     for (int j = 0; j < word.length(); j++) {
       char c = word.charAt(j);
       if (j % 2 == 0) {
         sb.append(Character.toUpperCase(c));
       } else {
         sb.append(Character.toLowerCase(c));
       }
     }
     if (i < words.length - 1) {
       sb.append(" ");
     }
   }
   return sb.toString();
 }
profile
차근차근 잘 해보자!

0개의 댓글