코딩테스트

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

yolang 2024. 7. 25. 20:15
728x90

 

🔗 JadenCase 문자열 만들기  

📌오늘의 학습 키워드

  • 오늘은 string 처리를 하는 문제였다. 

✨공부한 내용 본인의 언어로 정리하기

  • 사용한 함수들을 쭉 정리~
    • split() : 코테할때 많이 쓰는 함수 중 하나. input이 string으로 들어오는 경우가 많아 공백에 따라 나누고 싶을 때 사용한다. 'hello world'.split(' ') 이런 식으로 사용하면 공백에 따라 나눠준다.
    • isdigit() : 해당 string이 숫자인지 알아내기 위해 사용. '3'.isdigit() 하면 true를 반환한다.
    • lower(), upper() : string을 모두 소문자 또는 대문자로 바꿔줌. 'Hello'.lower() 이렇게 쓴다.

📚오늘의 회고

  • 어떤 문제가 있었고, 나는 어떤 시도를 했는지
    • 처음에 잘 해결한 줄 알았는데 실패가 떴다... 왜 뜨는 거지 잘 했는데
  • 어떻게 해결했는지
    • 알고 보니 처음 주어지는 string이 공백으로 시작할 경우 에러가 떴다.
  • 무엇을 새롭게 알았는지
    • 첫 번째 문자가 숫자인지 뿐만 아니라 공백인지도 처리해 줘야 한다. 
  • 내일 학습할 것은 무엇인지
    • 완전탐색 계속 공부

[🤓문제 해결 코드]

def solution(s):
    answer = ''
    str_list = s.split(' ')
    for s in str_list:
        if s == '' or s[0].isdigit():
            answer += s.lower()
        else:
            answer += s[0].upper() + s[1:].lower()
        if s != str_list[-1]:
            answer += ' '
    return answer

 

<테스트 코드>

print(solution("3people unFollowed me"))
print(solution("MMMM D3FS"))
print(solution(" m"))
print(solution("5E"))
print(solution("5EeEe 5D"))

# 3people Unfollowed Me
# Mmmm D3fs
#  M
# 5e
# 5eeee 5d
728x90