[ Programmers / CodingTest / Python ] JadenCase 문자열 만들기

황승환·2022년 1월 22일
0

Python

목록 보기
116/498

문제 설명

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"

접근 방법

우선 문자열 형태의 데이터는 원하는대로 수정이 불가능하기 때문에 수정이 가능한 리스트 형태로 바꿔주고, 가장 첫번째 원소를 대문자로 바꿔준 뒤에 반복문을 통해서 빈칸 뒤에 글자를 대문자로 바꿔주고 그 외에는 소문자로 바꿔주는 연산을 적용하면 쉽게 구할 수 있다.

  • 정답을 저장할 문자열 answer를 선언한다.
  • s를 리스트로 바꿔 준다.
  • s[0]을 대문자로 바꿔준다.
  • s의 길이-1만큼 반복하는 i에 대한 for문을 돌린다.
    -> 만약 s[i]가 빈칸일 경우 s[i+1]을 대문자로 바꿔준다.
    -> 그 외의 경우에는 s[i+1]을 소문자로 바꿔준다.
  • answer에 s를 문자열로 바꿔 넣어준다.
  • answer를 반환한다.

solution.py

def solution(s):
    answer = ''
    s=list(s)
    s[0]=s[0].upper()
    for i in range(0, len(s)-1):
        if s[i]==' ':
            s[i+1]=s[i+1].upper()
        else:
            s[i+1]=s[i+1].lower()
    answer=''.join(s)
    return answer

profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기

0개의 댓글