Q. 문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자로 이루어진 문자열을 리턴해야 합니다.
//나의 풀이
function firstCharacter(str) {
let arr = str.split(' '); //띄어쓰기 기준으로 잘라서 배열 만들기
let result = '';
for(let i = 0; i < arr.length; i++) {
result = result + arr[i].slice(0, 1); //배열 각 요소의 첫 번째 글자만 골라 붙이기
}
return result;
}
//레퍼런스 코드
function firstCharacter(str) {
if (str === '') {
return '';
}
let words = str.split(' ');
let result = '';
for (let i = 0; i < words.length; i += 1) {
result = result + words[i][0];
}
return result;
}
레퍼런스 풀이에는 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 하는 부분을 따로 써 놨는데, 굳이 그럴 필요는 없을 것 같다. 그 부분이 없어도 입력값이 빈 문자열인 경우, for 문을 돌지 않게 되고, 결국 빈 문자열인 result를 반환하게 되기 때문이다.
그리고 나는 새로 만든 배열의 요소들을 잘라서 활용했는데, 레퍼런스 코드처럼 배열의 인덱스와 문자열의 인덱스를 이용하여 접근하는 방식도 괜찮은 것 같다.
'알고리즘' 카테고리의 다른 글
Daily Coding 06. letterCapitalize (0) | 2023.01.25 |
---|---|
Daily Coding 05. firstReverse (0) | 2023.01.25 |
Daily Coding 03. powerOfTwo (0) | 2023.01.24 |
Daily Coding 02. computeWhenDouble (0) | 2023.01.23 |
Daily Coding 01. transformFirstAndLast (0) | 2023.01.23 |
댓글