본문 바로가기

알고리즘 공부/프로그래머스 > Python3

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

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

 

코딩테스트 연습 - JadenCase 문자열 만들기

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건

programmers.co.kr

 

[오답] → '코드실행' 100%, '제출 후 채점하기' 43.8%

 

s를 공백 기준으로 나누어서 리스트안에 넣고, 문자열 하나하나 꺼내서 capitalize()함수를 이용해 첫글자를 대문자로 만들어주고 공백과 함께 answer에 넣어준다.

 

코드가 맞는 것 같은데 왜 틀렸다는지 모르겠어서 네이버에 검색해보았다.

어느 한 블로그에서 내가 틀린 이유를 찾아냈다!

"주어지는 문자열에 여러 개의 공백이 입력으로 주어진 경우가 존재할 수 있다. 예를 들어 "manner     makes Man" 같은 문자열. 이런 문자열은 문자열 공백 개수를 그대로 유지한 채 리턴해야 한다."

 

 

[정답]

 

s를 공백을 기준으로 나누고 이를 capitalize()한 다음 join함수로 문자열을 공백 그대로 복원하면 된다.

 

※ 솔직히 제대로 이해하지는 못했지만 오늘은 새로운 join함수를 배웠다는 것으로 만족한다!


join함수

형태 : 추가문자열.join(리스트)

리스트의 모든 문자열항을 사이에 추가 문자열을 넣어 하나의 문자열로 만듦

 

capitalize함수

문장의 첫 글자를 대문자로 변환

ex)

"python is easy!" → "Python is easy!"

"3people unFollowed me" → "3people Unfollowed Me"

 

title함수

단어의 첫 글자를 대문자로 변환

ex)

"python is easy!" → "Python Is Easy!"

"3people unFollowed me" → "3People Unfollowed Me"


<참고>

https://m.post.naver.com/viewer/postView.nhn?volumeNo=29605211&memberNo=33264526

 

[Python] 프로그래머스. JadenCase 문자열 (Level 2)

[BY InSpirit] programmers.co.kr/learn/courses/30/lessons/12951 코딩테스트 연습 - JadenCase 문자열...

m.post.naver.com