영드로이드개발자
용이의 개발블로그
영드로이드개발자

블로그 메뉴

  • ⭐️ Home
  • 💻 GitHub
  • ❤️ Instagram
  • 👍 LinkedIn
  • 분류 전체보기 (44)
    • 공지사항 (1)
    • Daily 공부방 (0)
    • 프로그래밍 언어 (8)
      • Java (7)
      • Kotlin (1)
    • 안드로이드(Kotlin) (16)
    • 코딩테스트(Java) (11)
      • 기초 자료구조 (3)
      • 백준 (0)
      • 프로그래머스 1단계 (5)
      • 프로그래머스 2단계 (3)
    • 알고리즘 정리 (5)
    • 주간 목표계획 및 회고 (2)
    • Project (1)
      • Android App - 오마이코인 (1)

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
영드로이드개발자

용이의 개발블로그

[프로그래머스] JadenCase 문자열 만들기 - JAVA
코딩테스트(Java)/프로그래머스 2단계

[프로그래머스] JadenCase 문자열 만들기 - JAVA

2024. 2. 28. 15:40
반응형

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

입출력

이 문제는 프로그래머스 2단계 문제중 가장 정답률이 높은 문제이다.

딱히 생각할 부분은 없지만 공백문자에 대해서만 유의해서 코드를 작성하면 크게 어렵지는 않은 문제 였다.

해당 작성코드보다 좋은 의견이 있으면 남겨주길 바란다.

 

class Solution {

    public static void main(String[] args) {
        String s = "3people unFollowed me";
        System.out.println(solution(s));
    }


    static public String solution(String s) {
        String answer;
        StringBuilder sb = new StringBuilder();
        StringBuilder resultSb = new StringBuilder();

        for (int i = 0; i <= s.length(); i++) {
            if (i != s.length() && s.charAt(i) != ' ') {
                sb.append(s.charAt(i));
            } else {
                System.out.println(sb);
                if (sb.length() != 0) {
                    String beforeStr = sb.toString();
                    String changedStr;
                    boolean alphabetCheck = beforeStr.charAt(0) >= 'a' && beforeStr.charAt(0) <= 'z';
                    String firstChar = String.valueOf(beforeStr.charAt(0)).toUpperCase();
                    if (beforeStr.length() > 1 && alphabetCheck) {
                        changedStr = firstChar + beforeStr.substring(1).toLowerCase();
                    } else if (beforeStr.length() == 1 && alphabetCheck) {
                        changedStr = firstChar;
                    } else {
                        changedStr = beforeStr.charAt(0) + beforeStr.substring(1).toLowerCase();
                    }
                    resultSb.append(changedStr);
                    sb.setLength(0);
                }
                if (i != s.length()) resultSb.append(" ");
            }
        }
        answer = resultSb.toString();
        return answer;
    }
}

느낀점

해당 문제 같은 경우도 어려운 부분은 없는 기초적인 문제이지만 공백에 대해서는 유의하여 코드를 짤 필요가 있는것 같다.

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

'코딩테스트(Java) > 프로그래머스 2단계' 카테고리의 다른 글

[프로그래머스] 주차 요금 계산 - JAVA  (0) 2024.02.29
[프로그래머스] 최솟값 만들기 - JAVA  (0) 2024.02.28
    '코딩테스트(Java)/프로그래머스 2단계' 카테고리의 다른 글
    • [프로그래머스] 주차 요금 계산 - JAVA
    • [프로그래머스] 최솟값 만들기 - JAVA
    영드로이드개발자
    영드로이드개발자
    도전을 즐기는 안드로이드 개발자 현영우의 개발 Blog

    티스토리툴바