Dota2 Senate

LeetCode題目: 649. Dota2 Senate

My solution:

/**
 * @param {string} senate
 * @return {string}
 */
let predictPartyVictory = senate => {
    let senators = Array.from(senate);

    const banOneSenator = (character, fromIndex = 0) => {
        const index = senators.indexOf(character, fromIndex) !== -1 ? senators.indexOf(character, fromIndex) : senators.indexOf(character);
        if(index !== -1) senators.splice(index, 1, '');
    }

    while(senators.includes('R') && senators.includes('D')) {
        for(let idx in senators) {
            senators[idx] === 'R' 
                ? banOneSenator('D', idx) 
                : senators[idx] === 'D' && banOneSenator('R', idx);   
        }
        senators = Array.from(senators.join(''));
    }
    
    return senators.includes('R') ? 'Radiant' : 'Dire';
};
profile-image
Hi, 我是 Zeki。目前為一名前端工程師。我相信科技始終來自於人性,是用來幫助人們過上更有品質的生活的,但願也希望如此。