반응형
문제 : JadenCase 문자열 만들기
문제 설명
JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
- s는 길이 1 이상 200 이하인 문자열입니다.
- s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
- 숫자는 단어의 첫 문자로만 나옵니다.
- 숫자로만 이루어진 단어는 없습니다.
- 공백문자가 연속해서 나올 수 있습니다.
입출력 예
s | return |
"3people unFollowed me" | "3people Unfollowed Me" |
"for the last week" | "For The Last Week" |
해답 및 해설
파이썬 (Python)
def solution(s):
i = 0
answer = ''
while i<len(s):
if i==0 or s[i-1]==' ':
answer += s[i].upper()
else:
answer += s[i].lower()
i += 1
return answer
반복문을 돌려가며 이전에 공백문자가 있으면 대문자로, 아니면 소문자로 바꾸는 방식
def Jaden_Case(s):
return s.title()
그런데 진짜 어이없게도 이런 함수가 있었다.
자바스크립트 (Javascript)
function solution(s) {
var answer = '';
for (i in s){
if (i==0 || s[i-1]==" ") {
answer += s[i].toUpperCase();
} else {
answer += s[i].toLowerCase();
}
}
return answer;
}
파이썬 방식이랑 같은 방식. map이나 forEach 등으로 줄일 수 있을라나
반응형
'🖥️ 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv2 - H-Index (0) | 2022.09.26 |
---|---|
[프로그래머스] Lv2 - 숫자의 표현 (0) | 2022.09.24 |
[프로그래머스] Lv2 - 올바른 괄호 (0) | 2022.09.24 |
[프로그래머스] Lv2 - 이진 변환 반복하기 (0) | 2022.09.24 |
[프로그래머스] Lv2 - 최댓값과 최솟값 (0) | 2022.09.22 |
댓글