반응형
문제 제목 : JadenCase 문자열 만들기
문제 유형 : 문자열
출제 플랫폼 : Programers
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12951
내가 푼 답안
function solution(s) {
return s.toLowerCase().split(' ')
.map((v) => v.replace(v[0], v[0].toUpperCase()))
.join(' ')
}
// runtime 오류 발생
다른 사람의 풀이
function solution(s) {
return s.toLowerCase().split(' ')
.map((v) => v.replace(v[0], v.charAt(0).toUpperCase()))
.join(' ')
}
배운점
1) v.charAt(0) 사용할때는 런타임 에러가 생기지 않았지만 v[0]으로 사용시 런타임 에러 발생한다.
둘의 차이를 정확히 알아야 한다.
2) 문제에 공백문자가 연속해서 나올 수 있다고 한다.
- split(' ')으로 나누게 되면 배열안에 ['', '3asd', '', '34asd', '', '', 'asdsd', '']
다음과 같이 빈문자들이 생겨난다.
3) charAt() (MDN 설명)
- charAt() 함수는 문자열에서 특정 인덱스에 위치하는 유니코드 단일문자를 반환합니다.
- 그리고 해당 인덱스가 없을 경우에 빈문자('')를 반환한다.
4) charAt()을 활용하면 빈문자들에 대하여 작동이 되지만(결과값은 변화없음)
str[0]을 사용하면 undefinde로 오류가 난다.
// string.indxe와 charAt()의 차이
const sentence = '';
const index = 0;
console.log(sentence.charAt(index));
console.log(sentence[index]);반응형
'Algorithm' 카테고리의 다른 글
| [Python, 이분탐색] 백준 1072 게임 (1) | 2024.10.28 |
|---|---|
| Programers 키패드 누르기 (2020 카카오 인턴십) - JavaScript (1) | 2022.09.23 |
| Programers 비밀지도 (2018 카카오 신입 공채 1차) - JavaScript (1) | 2022.09.23 |
| Programers 체육복 - JavaScript (0) | 2022.09.22 |
| Programers 로또의 최고 순위와 최저 순위 - JavaScript (1) | 2022.09.22 |
