[프로그래머스] JadenCase 문자열 만들기

kiki·2023년 12월 26일
0

프로그래머스

목록 보기
15/78

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/12951

문제 설명

문자열을 입력으로 받아 각 단어의 첫 문자를 대문자로 변환해라

1차 시도 - 불통

upper를 알곤 있으나 어떻게 사용하는지 까먹어서 찾아봄

def solution(s):
    tmp = s.split(" ")
    return " ".join([i[0].upper()+i[1:].lower() for i in tmp])

틀림!
숫자에 upper()를 먹이면 Null값이 return돼서 안된다.

2차 시도 - 통과

def solution(s):
    tmp = s.split(" ")
    result = []
    for i in tmp:
        try:
            result.append(i[0].upper()+i[1:].lower())
        except:
            result.append(i)
    return " ".join(result)

위 코드에서 숫자가 첫 문자로 나올 경우를 예외처리해준 코드이다.
이또한 멋짐

1차 도전 - 통과

def solution(s):
    tmp = s.split(" ")
    return " ".join([i.capitalize() for i in tmp])

caplitalize() 라는 문자열의 첫 문자를 대문자로 변환해주는 멋진 함수가 있다.
이를 이용하면 짧게 해결 가능!
첫 문자가 숫자인 경우도 알아서 처리해주는 듯 하다.

정리

  • upper(), lower(), capitalize()와 같은 문자열 관련 함수를 아는 것이 중요한 문제였다.
  • 문자열.upper()와 같이 사용한다는 걸 까먹지 말자.

0개의 댓글