알고리즘 문제풀이/프로그래머스
[프로그래머스] JadenCase [연습문제] [python]
coding of lks
2020. 9. 26. 12:27
[프로그래머스] JadenCase [연습문제] [python] Level2
문제 설명
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
설계 및 구현
접근 방법
1. 첫번째 문자 일때는 소문자일 경우 대문자로 변환시켜주고
2. 첫번째 문자가 아니고 그 전 문자가 공백 일 경우 소문자일 경우 대문자로 변환
3. 전 순서의 문자가 알파벳이고 현재 문자가 대문자일 경우 소문자로 변환
이렇게 세가지의 조건문으로 구현하여 해결 할 수 있는 문제이다.
my_solution
def solution(s):
# 1
s = list(s)
for i in range(len(s)):
# 2
if i == 0:
if s[i].islower():
s[i] = s[i].upper()
# 3
elif s[i-1] == " " and s[i].islower():
s[i] = s[i].upper()
# 4
elif s[i-1].isalpha() and s[i].isupper():
s[i] = s[i].lower()
return "".join(s)
1. 문자열에 접근하기 위해 리스트자료형으로 변환시킨다.
2. 문자열의 첫번째 글자이고 소문자일 경우 대문자로 변환
3. 전 순서의 문자가 공백이고 현재 문자가 소문자일 경우 대문자로 변환
4. 전 순서의 문자가 알파뱃이고 현재문자가 대문자라면 소문자로 변환
마지막으로 변환을 마친 리스트를 문자열로 합쳐 반환시켜 해결 할 수 있는 문제이다.
isalpha() = 문자가 알파벳인지 확인하는 함수
isupper() = 문자가 대문자인지 확인하는 함수
islower() = 문자가 소문자인지 확인하는 함수
upper() = 문자를 대문자로 변환하는 함수
lower() = 문자를 소문자로 변환하는 함수
반응형