Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- maeil-mail
- JavaScript
- react-router
- Algorithm
- 항해플러스
- java
- programmers
- redux-toolkit
- redux
- json-server
- createSlice
- useDispatch
- 알고리즘
- 이코테
- 항해99
- sw expert academy
- 테코테코
- 리액트
- 자바
- C++
- 매일메일
- Python
- SW
- axios
- react-redux
- react
- Get
- 코딩테스트합격자되기
- 프로그래머스
- redux-saga
Archives
- Today
- Total
Binary Journey
[프로그래머스] Jaden Case 문자열 만들기 본문
반응형
출처: 프로그래머스 코딩 테스트 연습, 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 |