728x90
문제 설명
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
s는 길이 1 이상 200 이하인 문자열입니다.
s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
숫자는 단어의 첫 문자로만 나옵니다.
숫자로만 이루어진 단어는 없습니다.
공백문자가 연속해서 나올 수 있습니다.
입출력 예
문제해결과정
1. 이번문제는 쉬운거 같으면서도 많이 당황한 문제였다. 당연히 논리대로 되어야 하는게 안되었다.
2. 맨앞글자를 Upper 처리하기가 까다로웠는데 capitalize 함수로 인해 처리가 간단해졌다.
3. 문자열 사이 공백이 하나만 존재할때는 "".join을 써서 구분자로 문자열을 합치니 공백처리를 하면된다
def solution(s):
answer = s.split(" ")
strA = []
for i in answer:
if i == "":
strA.append(i)
elif i[0].isalpha() == False:
strA.append(i.lower())
else:
# 남은 문자 모두 소문자로 변경 후 맨 앞글자만 대문자처리
i = i.lower()
i = i.capitalize()
strA.append(i)
return " ".join(strA)
728x90
'프로그래머스 > 코딩테스트 Lv. 2' 카테고리의 다른 글
N개의 최소공배수 - Python (0) | 2023.10.02 |
---|---|
N-Queen - Python (0) | 2023.09.29 |
행렬의 곱셈 - Python (0) | 2023.09.26 |
하노이의 탑 - Python (0) | 2023.09.26 |
최솟값 만들기 (0) | 2023.09.25 |