[22.09.23] Daily Coding 4

동화·2022년 10월 5일
0

Daily-Coding

목록 보기
3/15

  1. 문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자로 이루어진 문자열을 리턴해야 합니다.


function firstCharacter(str) {
    let words = str.split(' ');
    let first = '';
    if (str.length === 0) return '';
    for(let i = 0; i < words.length; i++) {
    first += words[i][0];
  }
  return first;
}

띄어쓰기가 있는 문자열을 띠어쓰기 기분으로 분리해주고,
반복문을 이용해서 각 단어의 첫번째 문자를 출력해주었다.





❌ 틀린 코드 ❌

function firstCharacter(str) {
    let arr = str.split(' ')
    let firstWord = arr.reduce((acc, cur) => {
	    if(!acc[cur[0]]) {
	      	acc[cur[0]] = [];
	    }
	  acc[cur[0]].push(cur);
	  return acc;
    }, {});
return acc.join()
}

처음에 생각했던 코드인데 무슨 생각으로 이렇게 했는지는 잘 모르겠지만,,
내가 하고 싶었던 건 ㅠㅠ 일단 spilt으로 분리한 아이들이 배열로 들어갔으니,
그 배열을 reduce를 이용해서 첫번째 글자를 배열로 다시 넣어서.. join으로 꺼내오고 싶었던 느낌이었던 모양이다.
이거로도 성공할 수 있었지 않았을까..싶지만 reduce에 대한 흐릿한 개념으로 인해 더는 손대지 못하고 실패.. ㅠ_ㅠ

시도에 의의를 두기로 한다... 안그래도 늘 넘치던 체력의 한계를 느끼는 요즘인데 아침이라 잠이 덜 깬 듯 ㅎ_ㅎ
뭐 그래서 결국 통째로 뒤엎고 미련없이 새로 코드를 짰따는... 금요일 이야기..

0개의 댓글