[프로그래머스][Level2][Java] JadenCase 문자열 만들기

2022. 3. 6. 21:18·프로그래머스/Level 2

문제

 

풀이코드

public String solution(String s) {          //JadenCase 문자열 만들기
    String answer = "";
    boolean change = true;                  //대문자로 바꿀지 판단하는 변수 추가
    for(char x : s.toCharArray()){
        if(change){                         //change가 true일 경우 대문자로 바꿈
            answer += Character.toUpperCase(x);
            change = false;                 //대문자로 바꾸고 난뒤, change를 false로 바꿈
            if(x == ' '){                   //만약 공백이면 다시 change를 true로 바꿈
                change = true;
            }
        }else{                              //change가 false일 경우 소문자로 바꿈
            if(x == ' '){                   //만약 공백이면 다시 change를 true로 바꿈
                change = true;
                answer += x;
                continue;
            }
            answer += Character.toLowerCase(x);
        }
    }
    return answer;
}

 

원래의 풀이코드는 이랬으나 리팩토링을 한 결과

public String solution(String s) {              //JadenCase 문자열 만들기
    String answer = "";
    boolean change = true;                      //true일경우 대문자로 바꾸는 변수 생성
    for(char x : s.toCharArray()){
        if(change){                             //change = "true"일 경우
            answer += Character.toUpperCase(x); //대문자로 바꾸고
            change = false;                     //change = "false"로 바꾼다.
        }else{                                  //chage = "false"일 경우
            answer += Character.toLowerCase(x); //소문자로 바꾼다.
        }
        if(x == ' '){                           //그리고 만약 이렇게 바꾼 뒤 그것이 공백이라면
            change = true;                      //change를 다시 "true"로 바꾼다.
        }
    }
    return answer;
}

몇가지 불필요한 코드들을 제거할 수 있었다.

이 문제는 그렇게 어렵지 않아서 주석의 풀이로만으로도 충분히 이해가 가능할 것이다.

저작자표시 비영리 (새창열림)

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

[프로그래머스][Level2][Java] 숫자의 표현  (0) 2022.03.08
[프로그래머스][Level2][Java] 최솟값 만들기  (0) 2022.03.07
[프로그래머스][Level2][Java] 피보나치 수  (0) 2022.03.07
[프로그래머스][Level2][Java] 행렬의 곱셈  (0) 2022.03.07
[프로그래머스][Level2][Java] N개의 최소공배수  (0) 2022.03.06
'프로그래머스/Level 2' 카테고리의 다른 글
  • [프로그래머스][Level2][Java] 최솟값 만들기
  • [프로그래머스][Level2][Java] 피보나치 수
  • [프로그래머스][Level2][Java] 행렬의 곱셈
  • [프로그래머스][Level2][Java] N개의 최소공배수
BvrPark
BvrPark
코드 퍼즐과 개발 일상
  • BvrPark
    비버의 개발 일지
    BvrPark
  • 전체
    오늘
    어제
    • 분류 전체보기 (121)
      • JAVA (7)
        • 메서드 외울 것 (2)
      • 프로그래머스 (56)
        • 총 풀이 코드(깃허브) (1)
        • Level 1 (22)
        • Level 2 (33)
      • 백준 알고리즘(단계 별) (16)
        • 총 풀이 코드(깃허브) (1)
        • 1. 입출력과 사칙연산 (2)
        • 2. if 문 (2)
        • 3. for문 (1)
        • 4. while문 (2)
        • 5. 1차원 배열 (3)
        • 6. 함수 (1)
        • 7. 문자열 (1)
        • 8. 기본수학 1 (3)
      • 백준 알고리즘(solved.ac) (9)
        • 총 풀이 코드(깃허브) (1)
        • class2 (8)
      • LeetCode 문제 풀이 (4)
        • 총 풀이 코드(깃허브) (1)
        • Easy (3)
      • 코드업 알고리즘 (7)
      • git과 github사용법 (4)
      • html, css, javaScript (2)
      • 프로젝트 (11)
        • 순수 Java 프로젝트 (2)
        • 쇼핑몰 프로젝트 (2)
        • 게시판 프로젝트 (5)
        • 근태관리 프로젝트 (2)
      • 커피타임 (2)
        • 2023년 (2)
        • 2024년 (0)
  • 블로그 메뉴

    • 링크

      • 포트폴리오
      • 깃허브
    • 공지사항

    • 인기 글

    • 태그

    • 최근 댓글

    • 최근 글

    • Designed By정상우
    BvrPark
    [프로그래머스][Level2][Java] JadenCase 문자열 만들기
    상단으로

    티스토리툴바