상세 컨텐츠

본문 제목

알고리즘 문제풀이 - firstCharacter

Programming Language/JavaScript

by Yongari 2022. 12. 19. 21:33

본문

 

문제 설명 : 

문자열을 입력 받아서 문자열을 구성하는 각 단어의 첫 글자로 이루어진 문자열을 리턴한다.  단 문자열은 공백으로 문자를 구분한다.  아래의 입출력 예시를 참고하자. 

 

 

 

입력

인자 1 : str

  • string 타입의 공백이 있는 알파벳 문자열

출력

  • string 타입을 리턴해야 합니다.

주의 사항

  • 단어는 공백 한 칸으로 구분합니다.
  • 연속된 공백은 없다고 가정합니다.
  • 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다.

입출력 예시

let output = firstCharacter('hello world');
console.log(output); // --> "hw"

output = firstCharacter(
  'The community at Code States might be the biggest asset'
);
console.log(output); // --> "TcaCSmbtba"

 

 

풀이 코드 설명

function firstCharacter(str) {
  //빈 문자열을 입력받으면 빈 문자열을 리턴
  if (str.length === 0) {
    return "";
  }
  //arr을 공백으로 구분해서 배열로 만듬
  arr = str.split(" ");
  //정답을 구할 배열 생성
  let Arr = new Array();
  
  //반복문을 이용해 새 배열에 삽입한다.
  for (let i = 0; i < arr.length; i++) {
    Arr.push(arr[i][0]);
  }
  //마지막 최종결과값 result를 만들기위해 배열을 한가지 문자열로 만든다.
  let result = Arr.join("");
  //결과 반환
  return result;
}


//다른 풀이, 레퍼런스 코드
function firstCharacter(str) {
  //빈 문자열이면 빈 문자열 반환
  if (str === '') {
    return '';
  }

  //words에 공백으로 구분한 문자열 지정
  let words = str.split(' ');
  //result 빈 문자열 지정
  let result = '';
  //반복문 순회하면서 words의 첫번째 요소를 result에 더하기.
  for (let i = 0; i < words.length; i += 1) {
    result = result + words[i][0];
  }
  // 결과 반환
  return result;
}

 

출처 : 코드스테이츠

관련글 더보기