이상한 문자 만들기 (split, toUpperCase, toLowerCase 사용)

2024. 7. 11. 15:41·(Java)코테연습

 

public class Solution {
    public String solution(String s) {
        StringBuilder sb = new StringBuilder();

        // 공백을 기준으로 문자열을 단어로 나눕니다
        String[] words = s.split(" ", -1); // -1은 빈 문자열도 유지하도록 설정합니다

        // 단어마다 처리
        for (int j = 0; j < words.length; j++) {
            String word = words[j];
            for (int i = 0; i < word.length(); i++) {
                char ch = word.charAt(i);
                if (Character.isLetter(ch)) {
                    if (i % 2 == 0) {
                        sb.append(Character.toUpperCase(ch));
                    } else {
                        sb.append(Character.toLowerCase(ch));
                    }
                } else {
                    sb.append(ch); // 공백이나 특수 문자는 그대로 추가합니다
                }
            }
            // 단어 사이에 공백 추가
            if (j < words.length - 1) {
                sb.append(" ");
            }
        }

        return sb.toString();
    }
}

 

 

  • StringBuilder 객체 생성:
    • 결과를 저장할 StringBuilder 객체 sb를 생성합니다. StringBuilder는 문자열을 효율적으로 추가하고 수정할 수 있는 가변(mutable) 클래스입니다.
    •  
    • StringBuilder sb = new StringBuilder();
  • 문자열을 공백을 기준으로 단어로 나누기:
    • 입력 문자열 s를 공백을 기준으로 나눈 후, 각 단어를 배열 words에 저장합니다. -1은 빈 문자열도 유지하도록 설정합니다.
       
    • String[] words = s.split(" ", -1);

 

 

words 배열에 저장된 각 단어(word)를 반복문을 통해 처리합니다.

각 단어의 문자를 순회하면서 짝수 인덱스(i % 2 == 0)에 있는 알파벳은 대문자로 변경하고, 홀수 인덱스에 있는 알파벳은 소문자로 변경하여 sb에 추가합니다.

알파벳이 아닌 공백이나 특수 문자는 그대로 sb에 추가합니다.

각 단어 사이에 공백을 추가하기 위해 j < words.length - 1 조건을 사용하여 마지막 단어 이후에는 공백을 추가하지 않습니다.

 

toUpperCase를 사용하여 짝수마다 알파벳을 대문자로 출력하였다.

toLowerCase를 사용하여 홀수마다 알파벳을 소문자로 출력하였다.

 

 

반응형

'(Java)코테연습' 카테고리의 다른 글

문자열끼리 크기 비교하는 경우  (0) 2024.07.12
각각의 배열에서 3개의 정수 합이 0이 되어야 하는경우  (2) 2024.07.12
자판기  (0) 2024.07.10
랜덤 닉네임 생성  (0) 2024.07.10
(자바 코테연습) 최대공약수와 최고 공배수  (0) 2024.07.10
'(Java)코테연습' 카테고리의 다른 글
  • 문자열끼리 크기 비교하는 경우
  • 각각의 배열에서 3개의 정수 합이 0이 되어야 하는경우
  • 자판기
  • 랜덤 닉네임 생성
wanduek
wanduek
차근차근 쌓아가는 지식
  • wanduek
    완득님의 블로그
    wanduek
  • 전체
    오늘
    어제
    • 분류 전체보기 (194)
      • Onboarding (0)
      • 아티클 (0)
      • SQL 정리 (20)
      • 웹개발 기초정리(프엔) (9)
      • (Java)코테연습 (27)
      • 미니 프로젝트 (9)
        • 자기소개 웹페이지 (5)
        • 수강생 관리 프로그램(Java) (4)
      • GitHub 오류 및 명령어 정리 (7)
      • Java 문법정리 (Array부터) (17)
      • Java로 이용한 기능 (2)
      • Web지식 (12)
        • web3 (6)
        • 네트워크 (6)
      • 인텔리제이 오류 대처 방법 (1)
      • Computer Science (7)
      • Spring (38)
        • 미니 프로젝트(배달) (2)
        • Spring 트러블 슈팅 (3)
        • QueryDSL, JPQL (3)
        • 미니 프로젝트(뉴스피드) (5)
        • 미니 프로젝트(Trello) (2)
      • 개발자 밋업 (1)
      • Docker (2)
      • Redis (1)
      • AWS (6)
        • AWS 트러블 슈팅 (2)
      • Jmeter (2)
      • 우리 지금 만나 (12)
      • Kafka (1)
      • RabbitMQ (2)
        • 트러블 슈팅 (1)
      • STOMP (2)
      • WebSocket (3)
        • 트러블 슈팅 (2)
      • Node.js (2)
      • Elastic Search (2)
      • Nginx (1)
      • 퍼블엘 (2)
      • openresty (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    fetch
    where
    groupby
    git
    jquery
    SQL
    github
    백앤드개발자 #초심자
    json
    ㅏㄷ
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
wanduek
이상한 문자 만들기 (split, toUpperCase, toLowerCase 사용)
상단으로

티스토리툴바