[문제]
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다.
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
[풀이]
def solution(s):
answer = ''
s=s.split(' ')
for i in range(len(s)):
s[i]=s[i].capitalize()
answer=' '.join(s)
return answer
s.split(' ')
공백을 기준으로 나눠준다, 만약에 ',' 를 쓰면 ,를 기준으로 나누고 리스트로 반환한다.
for i in range(len(s)):
문자열도 배열과 마찬가지로 길이만큼 반복하려면 range(len(string))을 써준다.
s[i] = s[i].capitalize()
리스트에서 첫 번째 단어의 첫 글자를 대문자로, 나머지는 소문자로 바꾼 후 반환한다.
반복문을 돌면서 모든 단어를 변환 후 반환한다.
string.capitalize() 를 하게 되면 문장의 첫 글자를 대문자로 만들고 나머지는 소문자로 바꿔준다.
지금 코드에서는 s.split(' ')으로 공백으로 나눴기 때문에 각 단어의 첫 문자는 대문자로, 나머지는 소문자로
바뀌게 된다.
answer = ' '.join(s)
리스트로 변환 된 s에서 각 요소들은 공백을 가지고 합쳐진다.
이외에도 알아두면 좋은 함수가 있다
s = "hello world from python"
titled_s = s.title()
print(titled_s)
# 출력: Hello World From Python
capitalized_s = s.capitalize()
print(capitalized_s)
# 출력: Hello world from python
titled()는 공백이나 구분자로 나뉘어져 있으면 처음 나오는 알파벳은 대문자로, 나머지는 소문자로 변환한다.
capitalize()는 공백, 구분자 상관없이 첫 단어의 첫 글자만 변환한다.
문제에서는 각 리스트의 요소마다 반복문을 돌면서 바꿔준 것이다
'⚙️ Algorithm' 카테고리의 다른 글
[파이썬/알고리즘] 프로그래머스 - 같은 숫자는 싫어 (스택) (0) | 2024.06.27 |
---|---|
[파이썬/알고리즘] 프로그래머스 - 최솟값 만들기 (1) | 2024.06.26 |
[파이썬/알고리즘] 프로그래머스 - 올바른 괄호 (스택) (0) | 2024.06.26 |