문자 반복 출력하기

유성재·2022년 12월 27일
0

한줄코딩

목록 보기
5/6
post-custom-banner

문제

풀이

지금까지 풀었던 문제들 중에서 가장 한줄로 풀기 어려웠던 문제다.

문자열을 자르고 반복문을 통해 늘리는것이라면 금방 할 수 있을 것 같은데 다 빼고 한줄로만 정리하려고 하니 머리가 아팠다.

어떤 방법이 좋을까 mdn web docs를 뒤지다가 reduce를 보고 예전에 다른분이 신기하게 쓰는걸 봤던게 생각이 나서 그 방법으로 해결했다.

const solution = (my_string,n) => my_string.split('').reduce((a,b)=>[...a,b.repeat(n)],[]).join('')

문자열을 자르고 reduce를 통해 이전의 결과물 a에 현재 문자 b를 n번 repeat한 문자를 배열에 추가하는 방식으로 최종 결과물을 배열로 만들고, join을 통해 만들어진 배열을 합쳐줬다.

그런데 이 방법도 합치는 동작을 생략할 수 있었다.

const solution = (my_string,n) => my_string.split('').reduce((a,b)=>a+b.repeat(n),'')

위와 같이 처음부터 reduce의 결과물을 문자열로 만들어놓고 추가하는 식으로 썼다면 합치는 동작을 하지 않아도 문제를 해결할 수 있었다.

profile
열정 있는 개발자
post-custom-banner

0개의 댓글