[LeetCode] 1592. Rearrange Spaces Between Words

Chobby·2025년 9월 24일
1

LeetCode

목록 보기
556/582

😎풀이

  1. 공백 수 확인
  2. 문자 수 확인
  3. 공백별로 이어붙일 공백 수 계산
  4. 문자를 공백 기준으로 이어붙인 후, 끝에는 잔여 공백을 이어붙임임
function reorderSpaces(text: string): string {
    let spaces = text.match(/[^a-z]/gi)?.length ?? 0
    let words = text.match(/[a-z]+/gi)
    const wordLen = words.length
    if(wordLen === 1) return words[0] + ' '.repeat(spaces)
    const gap = Math.floor(spaces / (wordLen - 1))
    let result = ''
    for(let i = 0; i < wordLen - 1; i++) {
        result += words[i]
        result += ' '.repeat(gap)
    }
    return result + words.at(-1) + ' '.repeat(spaces - (gap * (wordLen - 1)))
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글