본문 바로가기
코딩 테스트 (C#)/프로그래머스 (Lv2)

[C#][프로그래머스] JadenCase 문자열 만들기

by 스누누피 2024. 11. 1.

프로그래머스 > 코딩테스트 연습 > 연습문제 > JadenCase 문자열 만들기

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

 

📒 문제

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.

 

제한사항

  • s는 길이 1 이상 200 이하인 문자열입니다.
  • s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
    • 숫자는 단어의 첫 문자로만 나옵니다.
    • 숫자로만 이루어진 단어는 없습니다.
    • 공백문자가 연속해서 나올 수 있습니다.

 

입출력 예

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

 


💻 소스코드

using System;

public class Solution {
    public string solution(string s) {
        string[] sArr = s.Split(' ');

        string[] newArr = new string[sArr.Length];

        for(int i = 0; i < sArr.Length; i++)
        {
            string str = sArr[i].ToLower();
            if (str == "") continue;
            if (!int.TryParse(str[0].ToString(), out int n))
            {
                str = str[0].ToString().ToUpper() + str.Substring(1);
            }
            newArr[i] = str;
        }

        return string.Join(" ", newArr);
    }
}

 

📝 풀이

string s를 ' '기준으로 split 해주고 각 요소를 반복문으로 돌며 첫번째 글자가 숫자가 아니면 대문자로 변경해주었다.

그리고 join을 통해 다시 합쳐주었다

 

 


관련 포스팅

 

[C#] string 메서드 모음

최근 수정: 2024.10.31string 메서드 내용 중 새로 알게되거나 사용했던 메서드들 기록하는 곳입니다. 주요 메서드Substring([시작위치], [문자열길이]): string의 시작위치부터 문자열 길이만큼 추출해준

twd0622.tistory.com

 

[C#] string.Split() + StringSplitOptions

string의 메서드 중 split에 대해 좀 더 자세히 다루기 위해 따로 기록한다. ● Split(char[]|string[], *count, *option) 기준 문자 기준으로 문자열을 잘라 문자열로 반환하는 string 메서드 *은 생략이 가능한

twd0622.tistory.com