프로그래머스 - 이상한 문자 만들기 Java

2024. 9. 25. 12:22·코테 문제 풀이/프로그래머스
728x90
반응형

문제 설명

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

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

 

class Solution {
    public String solution(String s) {
        String answer = "";
        int idx = 0;
        String[] arr = s.split("");
        
        for(String str : arr){
            idx = str.contains(" ") ? 0 : idx+1;
            answer += idx%2==0 ? str.toLowerCase() : str.toUpperCase();
        }
        
        return answer;
    }
}

 

.split("")을 사용해 문자열을 배열로 쪼개 넣어준다.

  • 0번 째 인덱스를 가진 첫번째 숫자를 짝수번째 알파벳으로 처리
  • 전체 문자열이 아닌 공백을 기준으로 짝/홀을 판별

for(String str : arr){
            idx = str.contains(" ") ? 0 : idx+1;
            answer += idx%2==0 ? str.toLowerCase() : str.toUpperCase();
        }


위 조건을 만족시키기 위한 for문을 입출력 예시로 설명하자면 

s return
"try hello world" "TrY HeLlO WoRlD"

 

  1. 첫번째 문자 t는 0번째 인덱스이므로 짝수번째 알파벳으로 취급되어 대문자가 되어야 한다.
  2. idx = str.contains(" ") ? 0 : idx + 1; 을 통과 후 공백이 아니기 때문에 idx가 1이 됨.
  3. answer += idx%2==0 ? str.toLowerCase() : str.toUpperCase(); 을 통해 대문자로 변환.
  4. 그 다음 문자인 r은 idx가 2기 때문에 소문자로 변환.
  5. 같은 방법으로 y은 idx가 3이기 때문에 대문자로 변환.
  6. 공백이 나오면 0으로 idx를 초기화해주고 위를 반복.

※ idx 변수의 수 때문에 짝홀이 헷갈릴 수 있지만 문자열 상으로 보면 짝홀이 맞음.
 ex ) 문자열 t는 실제 인덱스가 0으로 짝수 알파벳으로 취급하지만 idx는 1이다.

 

 

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

728x90
반응형
저작자표시 비영리 변경금지

'코테 문제 풀이 > 프로그래머스' 카테고리의 다른 글

프로그래머스 - 크기가 작은 부분 문자열 Java + 원시 타입과 참조 타입 이해하기  (0) 2024.09.27
프로그래머스 - 삼총사 Java  (1) 2024.09.26
프로그래머스 - 3진법 뒤집기 Java  (0) 2024.09.25
프로그래머스 - 최대공약수와 최소공배수 Java (+ 유클리드 호제법)  (0) 2024.09.12
프로그래머스 - 직사각형 별찍기 Java  (0) 2024.09.11
'코테 문제 풀이/프로그래머스' 카테고리의 다른 글
  • 프로그래머스 - 크기가 작은 부분 문자열 Java + 원시 타입과 참조 타입 이해하기
  • 프로그래머스 - 삼총사 Java
  • 프로그래머스 - 3진법 뒤집기 Java
  • 프로그래머스 - 최대공약수와 최소공배수 Java (+ 유클리드 호제법)
waVwe
waVwe
    반응형
  • waVwe
    waVwe 개발 블로그
    waVwe
  • 전체
    오늘
    어제
    • ALL (184)
      • Python (1)
      • Spring (15)
      • DevOps (10)
      • Git (6)
      • JAVA (4)
      • C (22)
      • 코테 문제 풀이 (124)
        • 프로그래머스 (43)
        • 백준 (2)
        • 정올 (64)
        • SW Expert Academy (1)
        • 온코더 oncoder (14)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

    • 🐙 Github
  • 공지사항

  • 인기 글

  • 태그

    깃헙
    깃
    형변환
    스파르타코딩클럽
    C
    C언어
    온코더
    아파치카프카
    progate
    알고리즘
    devops
    docker
    연결리스트
    정올
    이진트리
    java
    스프링부트
    코테
    도커
    프로그래머스
    자료구조
    Til
    MSA
    내일배움캠프
    자바
    while문
    스파르타코딩
    springboot
    스프링
    CI/CD
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
waVwe
프로그래머스 - 이상한 문자 만들기 Java
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.