[프로그래머스 level 1][JAVA/자바] 12930번: 이상한 문자 만들기

2025. 11. 16. 19:50·코테/프로그래머스
728x90

[level 1] 이상한 문자 만들기 - 12930

문제 링크

성능 요약

메모리: 81.9 MB, 시간: 0.09 ms

문제 설명

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

제한 사항
  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.
입출력 예
s return
"try hello world" "TrY HeLlO WoRlD"
입출력 예 설명

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

 

풀이과정

  •  toCharArray(): String으로 받은 문자열을 char 문자로 쪼갠 뒤 char[]배열에 순서대로 값을 넣어 반환
  • Character.toUpperCase(변환을 원하는 단어): Char 대문자로 변환 
Char c = "a"
c = Character.toUpperCase(c); //"A"
  • Character.toLowerCase(변환을 원하는 단어):Char 소문자로 변환
Char c = "A"
c = Character.toLowerCase(c); //"a"

testcase가 돌아가지 않는다면 고려해야할 부분

  1. 단어 사이 공백이 여러개
  2. 문자의 시작과 끝에 공백
  3. 단어에 대문자가 섞여있는 경우 위 세가지 고려해서 테스트 해보시면 될거 같습니다.
  4. " tRy hello WORLD " 로 넣어서 테스트 해보시면 될거같습니다.

자바 정답 코드

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

        for (char c : s.toCharArray()) {
            if (c == ' ') {
                sb.append(c);
                count = 0;
            } else {
                if (count % 2 == 0) {
                    sb.append(Character.toUpperCase(c));
                } else {
                    sb.append(Character.toLowerCase(c));
                }
                count++;
            }
        }

        return sb.toString();
    }
}

 

728x90
반응형

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

[프로그래머스 level 3][JAVA] 12907번: 거스름돈  (0) 2025.11.14
[프로그래머스 Level2]SELECT:부모의 형질을 모두 가지는 대장균 찾기-SQL  (0) 2025.04.25
[프로그래머스 Level2]SELECT:조건에 맞는 개발자 찾기-SQL  (0) 2025.04.25
[프로그래머스 Level3]GROUP BY:대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기-SQL  (0) 2025.03.21
[프로그래머스 Level3]DP:N으로 표현-JAVA (자바)  (0) 2025.03.17
'코테/프로그래머스' 카테고리의 다른 글
  • [프로그래머스 level 3][JAVA] 12907번: 거스름돈
  • [프로그래머스 Level2]SELECT:부모의 형질을 모두 가지는 대장균 찾기-SQL
  • [프로그래머스 Level2]SELECT:조건에 맞는 개발자 찾기-SQL
  • [프로그래머스 Level3]GROUP BY:대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기-SQL
lakedata
lakedata
lakedata 님의 블로그 입니다.
  • lakedata
    lakedata 님의 블로그
    lakedata
  • 전체
    오늘
    어제
    • 분류 전체보기 (188)
      • cs (82)
        • dev (28)
        • sec (29)
        • ops (25)
      • 자격증 (32)
        • 정보처리기사 (20)
        • 정보보안기사 (1)
        • aws dva (6)
        • aws dop (2)
      • IT서적 (27)
        • 클린아키텍처 (10)
        • 객체지향의사실과오해 (7)
        • 오브젝트 (10)
      • 코테 (42)
        • 알고리즘 (20)
        • 백준 (13)
        • 프로그래머스 (7)
  • 블로그 메뉴

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

    • github
  • 공지사항

  • 인기 글

  • 태그

    CS
    SQL
    Java
    docker
    AWS
    Security
    Spring
    알고리즘
  • 최근 댓글

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
lakedata
[프로그래머스 level 1][JAVA/자바] 12930번: 이상한 문자 만들기
상단으로

티스토리툴바