반응형
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
** Javascript
const re = /[0-9]/ // (필요없음)
function solution(s) {
let words = s.split(" ");
for (let i = 0; i < words.length; i++) {
words[i] = words[i].charAt(0).toUpperCase() + words[i].substr(1).toLowerCase();
}
return words.join(" ");
}
글자를 띄어쓰기대로 나누고 글자의 첫 character만 대문자로 바꾸고 나머지(인덱스 1부터 나머지 character)는 소문자로 바꾼 뒤 붙인다.
구글링해서 Jaden Case 하는 방법을 알아서 바로 저렇게 제출됐다.
그런데 푼 사람이 적은 건지 11점이나 받아서 놀람
처음에 정규식 시도했던 터라 제출 버튼을 누르고 실행중지를 눌렀지만 제출 답안에 const re = /[0-9]/ 까지 맨 윗줄에 들어가버렸다.
한 줄로 줄인다면
function solution(s) {
return s.split(" ").map((char, index) => char.charAt(0).toUpperCase() + char.substr(1).toLowerCase()).join(" ");
}
추천을 가장 많이 받은 풀이도 위 식으로 풀었다.
하지만 시간은 for 문 돌린 게 더 빨리 나왔다.
숫자는 upperCase 해도 바뀌지 않고 그대로 return 되는 것 같다.
** Python (2021-11-29)
def solution(s):
return ' '.join([i.capitalize() for i in s.split(' ')])
댓글에 공백문제로 시끌시끌하던데
def solution(s):
st = ' '.join([i.capitalize() for i in s.split(' ')])
return ' '.join([i for i in st.split()])
이렇게 하면 공백 여러 개가 한 개로 바뀌긴 함
반응형
'프로그래머스 > level 2' 카테고리의 다른 글
[프로그래머스] 행렬의 곱셈 (0) | 2021.11.29 |
---|---|
[프로그래머스][위클리챌린지] 5주차 모음 사전 (0) | 2021.09.02 |
[프로그래머스] H-Index (0) | 2021.08.11 |
[프로그래머스] 최댓값과 최솟값 (0) | 2021.08.10 |
[프로그래머스] 최솟값 만들기 (0) | 2021.08.10 |