본문 바로가기

나를 성장시키는 알고리즘

배열을 객체로 전환하기

문제

문자열을 입력받아 문자열에 존재하는 각 단어의 개수 정보를 담은 객체를 리턴해야 합니다.

입력

인자 1 : str

  • string 타입의 공백이 있는 문자열
  • str[i]는 알파벳 또는 공백

출력

  • 각 단어(소문자 형태)를 키로 하고, 각 단어의 개수를 값으로 하는 객체를 리턴해야 합니다.

주의 사항

  • 단어는 공백을 제외한 연속된 알파벳 문자열로 정의합니다.
  • 공백은 한 칸 이상입니다.
  • 단어가 존재하지 않는 경우, 빈 객체를 리턴해야 합니다.
  • 대소문자를 구분하지 않습니다.
  • str.trim 사용은 금지됩니다.

입출력 예시

let output = test1('ask a bunch try a BUNCH get a bunch'); console.log(output); // --> { ask: 1, a: 3, bunch: 3, try: 1, get: 1 }

 

해설


function test1(str) {

// TODO: 여기에 코드를 작성합니다.

//문자열을 띄어쓰기 기준으로 배열을 만들기



object={}

let array= str.toLowerCase().split(" ")

 

for(let i=0; i<array.length; i++){

 

if(array[i]=== ''){

continue

}

else if(object[array[i]] === undefined){

object[array[i]] =1

}else{

object[array[i]] +=1

}




}

 

return object

}