inblog logo
|
DailyCoding
    CodingTestJava

    160. 이상한 문자 만들기

    박은서's avatar
    박은서
    May 13, 2026
    160. 이상한 문자 만들기
    Contents
    1. 문제2. 풀이3. 다른 사람의 풀이
    2026.05.13(WED)_160일차

    1. 문제

    문제 설명

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

    제한 사항

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

    입출력 예

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

    입출력 예 설명

    "try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.

    문제가 잘 안풀린다면😢

    힌트가 필요한가요? [코딩테스트 연습 힌트 모음집]으로 오세요! → 클릭

    2. 풀이

    class Solution { public String solution(String s) { String answer = ""; int count = 0; for (int i = 0; i < s.length(); i++) { if (s.substring(i, i+1).equals(" ")) { count = 0; answer += " "; } else if (count % 2 == 0) { answer += s.substring(i, i+1).toUpperCase(); count++; } else { answer += s.substring(i, i+1).toLowerCase(); count++; } } return answer; } }

    3. 다른 사람의 풀이

    class Solution { public String solution(String s) { String answer = ""; int cnt = 0; String[] array = s.split(""); for(String ss : array) { cnt = ss.contains(" ") ? 0 : cnt + 1; answer += cnt%2 == 0 ? ss.toLowerCase() : ss.toUpperCase(); } return answer; } }
     
    Share article
    Contents
    1. 문제2. 풀이3. 다른 사람의 풀이

    DailyCoding

    RSS·Powered by Inblog