[Programmers] JadenCase 문자열 만들기 (문자열 Lv.0) - Python

꼬마요리사레미·2023년 5월 30일

Algorithm

목록 보기
28/41

1. 문제


JadenCase 문자열 만들기

2. 풀이


코드
def solution(s):
    words = s.split(' ')
    result = []
    
    for word in words:
        if word:
            result.append(word[0].upper() + word[1:].lower())
        else:
            result.append(word)
    
    return ' '.join(result)
입력 및 출력
s = "3people unFollowed me"	

>> "3people Unfollowed Me"

3. 로직


  1. 문자열을 공백을 기준으로 분리하여 단어들의 리스트인 words에 저장한다.

  2. 결과를 저장할 빈 리스트인 result를 생성한다.

  3. words 리스트의 각 단어에 대해 반복문을 실행한다.

  4. 만약 단어가 비어있지 않으면, 첫 글자를 대문자로, 나머지 글자를 소문자로 변환한 결과를 result 리스트에 추가한다.

  5. 만약 단어가 비어있다면, 그대로 result 리스트에 추가한다.

  6. result 리스트의 모든 단어를 공백으로 구분하여 하나의 문자열로 결합한 결과를 반환한다.

  • 문장에서 split(' ') 메서드를 사용하면 공백을 기준으로 단어를 분리할 수 있지만 경우에 따라서 공백 문자열이 여러 개 연속으로 나타날 수 있다. 공백 문자열도 하나의 요소로 인식되어 리스트에 추가된다.
  • "programmers know jadencase"라는 문자열에서 split(' ')을 사용하면 다음과 같은 리스트가 생성된다: ['programmers', '', '', '', 'know', 'jadencase'].
  • 이후 코드에서는 각 단어를 처리할 때, 비어있는 단어인 경우 (공백 문자열인 경우) 그대로 result 리스트에 추가한다. 이렇게 하면 결과적으로 공백 문자열도 변환 없이 그대로 유지되며, Jaden Case 변환은 단어의 첫 글자를 대문자로, 나머지 글자를 소문자로 변환하는 것에만 적용된다.

3. 사용된 함수


lower(), upper()

upper()lower()는 문자열의 대문자와 소문자로 변환하는 메서드이다.

  • upper(): 문자열의 모든 알파벳 문자를 대문자로 변환한다.
  • lower(): 문자열의 모든 알파벳 문자를 소문자로 변환한다.

예를 들어, 다음과 같은 문자열이 있다고 가정해보자.

text = "Hello, World!"

upper()lower()를 사용하여 이 문자열을 대문자와 소문자로 변환할 수 있다.

upper_text = text.upper()
print(upper_text)
# 출력: "HELLO, WORLD!"

lower_text = text.lower()
print(lower_text)
# 출력: "hello, world!"

0개의 댓글