https://programmers.co.kr/learn/courses/30/lessons/12951?language=javascript#
sol1
function solution(s) {
let answer = '';
let arr = s.split(' ')
answer = arr.map(v=>v.toLowerCase())
.map(el => el=== "" ? "" : el.replace(el[0],el[0].toUpperCase()))
return answer.join(' ')
}
조건중 공백 문자가 연속해서 나올 수 있다는 조건을 해결하는 게 까다로웠다. 공백을 아예 없애버리면 실패 케이스가 나오니 공백은 그대로 두고 첫 글자만 변환해야 했다.
sol2
function solution(s) {
s = s.toLowerCase()
var answer = s.split(" ").map(s => {
let arr = s.split("")
if(arr[0] != null)
arr[0] = arr[0].toUpperCase();
return arr.join('');
}).join(' ');
return answer;
}
처음부터 문자열을 문자 하나하나 쪼개고 첫 문자만 변환한 후 다시 차례대로 조합하는 방법이다.
'Study > Algorithm' 카테고리의 다른 글
[BEAKJOON / node.js] 12904 A와 B (0) | 2022.06.16 |
---|---|
[BEAKJOON / node.js] 9935 문자열 폭발 (0) | 2022.06.15 |
[BEAKJOON / node.js] 1920 수 찾기 (2) | 2022.06.12 |
[BEAKJOON / node.js] 10816 숫자 카드 2 (0) | 2022.06.11 |
[BEAKJOON / node.js] 11659 구간 합 구하기 4 (0) | 2022.06.10 |