ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JadenCase 문자열 만들기
    Algorithm 2021. 5. 11. 12:08

    아래 문제는 프로그래머스에서 제공하는 코딩테스트 > JadenCase 문자열 만들기의 문제입니다🧑🏻‍💻

     

    문제 제시

    JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.

    제한 조건

    • s는 길이 1 이상인 문자열입니다.
    • s는 알파벳과 공백문자(" ")로 이루어져 있습니다.
    • 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 )

    입출력 예

    "3people unFollowed me" "3people Unfollowed Me"
    "for the last week" "For The Last Week"

    문제 해결

    func solution(_ s:String) -> String {
        var result = ""
        var count = 0
    
        for index in s {
            if index != " " {
                if count == 0 {
                    result += String(index).uppercased()
                } else {
                    result += String(index).lowercased()
                }
                count += 1
            } else {
                result += " "
                count = 0
            }
        }
        return result
    }

    사용된 개념

     - 반복 / 조건문

     - 문자 변환

     

    문제 뒷담화

    이번 문제는 문자를 탐색하고 값을 비교하여 다시 새로운 값에 넣어주는 문제였다.

    처음 프로퍼티 변수로 값을 넣어줄 result와 카운트를 체크해줄 변수를 넣었다.

    그리고 반복문을 돌리며 각 문자마다 비교하여 탐색하고 result에 값을 넣어준다.

    공백이면 그대로 넣어주고 체크한 카운터수를 초기화 해준다.

    만약 들어온 값이 공백이 아니면 카운트 수를 체크하여 0일때는 앞이 공백이니 대문자로 바꿔주고

    아니라면 소문자 값을 넣어준다.

    처음 앞글자만 대문자로 체크해주는걸 구현했는데 중간에 대문자가 들어온것을 소문자로 바꿔주지 않았었다.

    이 부분을 고쳐주고 해결되었다.

     

     

    [참고자료]

    programmers.co.kr/learn/courses/30/lessons/12951?language=swift

     

    'Algorithm' 카테고리의 다른 글

    음양 더하기  (0) 2021.05.18
    튜플  (0) 2021.05.17
    N개의 최소공배수  (0) 2021.05.10
    완전탐색 > 카펫  (0) 2021.05.06
    깊이/너비 우선 탐색(DFS/BFS) - 타겟 넘버  (0) 2021.05.06
Designed by Tistory.