Bleeding edge

[LeetCode] 1528. Shuffle String - 자바스크립트 0613 본문

코딩테스트 공부

[LeetCode] 1528. Shuffle String - 자바스크립트 0613

codevil 2022. 6. 13. 11:10

https://leetcode.com/problems/shuffle-string/

 

Shuffle String - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

문제에 str한개와 array 하나가 주어진다.

array에 주어진 순서대로 str에 있는 글자를 옮기면된다.

출처 : leet code

문제 풀이

1. 문자를 한글자 떼고, array의 글자와 붙여서 새로운 정렬에 대입한다

    const calc = []
    for (let i = 0; i < s.length; i++) {
        calc.push([s[i], indices[i]])
    }

2. calc에 주어진 순서대로 정렬을 분류한다. 

이과정에서 위에 주어진 그림대로 배치가 된다.

    calc.sort((a, b) => a[1] - b[1])

3. calc에 있는 모든 arr에 [0]을 answer에 붙인다

    let answer = ""
    for (let i = 0; i < calc.length; i++) {
        answer += calc[i][0]
    }

 

전체 코드

var restoreString = function (s, indices) {
    const calc = []
    for (let i = 0; i < s.length; i++) {
        calc.push([s[i], indices[i]])
    }
    calc.sort((a, b) => a[1] - b[1])
    let answer = ""
    for (let i = 0; i < calc.length; i++) {
        answer += calc[i][0]
    }
    return answer
};