Recent Posts
Recent Comments
라떼는말이야
[프로그래머스 lv2] JadenCase 문자열 만들기 본문
반응형
문제 설명
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
- s는 길이 1 이상인 문자열입니다.
- s는 알파벳과 공백문자(" ")로 이루어져 있습니다.
- 첫 문자가 영문이 아닐때에는 이어지는 영문은 소문자로 씁니다. ( 첫번째 입출력 예 참고 )
입출력 예
나의 코드
def solution(s):
s = s.split(' ')
for i in range(len(s)):
s[i] = s[i].capitalize()
return ' '.join(s)
그렇게 어려운 문제는 아니다.
문자열 내장함수를 더 많이 알수록 쉬워지는 문제이다.
capitalize()는 단어의 첫 문자를 대문자로, 그 외에는 소문자로 바꾸고, 맨 앞에 문자가 오지 않으면 대문자로 바꾸지 않는 함수인데 문제와 완벽히 일치하기 때문에 이번 문제에서 아주 적절한 함수이다.
물론 capitalize를 사용하지 않아도 구현할 수 있겠지만 이미 존재하는 함수를 활용하는 것은 시간 단축에서나 효율성 면에서나 도움이 되기 때문에 새로운 함수를 배웠다면 잘 익혀서 다음 코딩테스트에 써먹는 것이 좋을 것 같다.
문제를 풀이하고 다른 사람의 풀이를 봤더니
def solution(s):
return s.title()
이런 풀이가 있는 것이다...
정확히 말하면 예전에 동작하던 코드이다. title 함수는 맨 앞 문자를 대문자로 만든다. 하지만 문제 예시처럼 3people인 경우 3people로 반환해야 하지만 3People로 만들기 때문에 현재는 정답으로 인정되지 않는다.
그래도 다른 사람의 풀이를 보면 참신한 접근법이나 이번과 같이 새로운 함수를 알 수 있어서 좋다.
반응형
'알고리즘 > 코딩 테스트' 카테고리의 다른 글
[프로그래머스 lv2] 예상 대진표 (0) | 2021.08.11 |
---|---|
[프로그래머스 위클리 챌린지] 2주차_상호평가 (4) | 2021.08.10 |
[프로그래머스 lv2] 가장 큰 정사각형 찾기 (0) | 2021.08.05 |
[프로그래머스 lv1] 체육복 (0) | 2021.08.05 |
[프로그래머스 lv2] N개의 최소공배수 (파이썬) (0) | 2021.08.05 |
[프로그래머스 lv2] 영어 끝말잇기 (파이썬) (0) | 2021.08.05 |
[프로그래머스 lv2] 메뉴 리뉴얼 (2) | 2021.08.04 |
[프로그래머스 lv2] 후보키 (파이썬) (0) | 2021.08.04 |
Comments