ν”„μ—” 곡뢀/🫧 μ•Œκ³ λ¦¬μ¦˜ 곡뢀

[μ•Œκ³ λ¦¬μ¦˜ || ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] 크레인 μΈν˜• 뽑기 κ²Œμž„

λ˜μžπŸ‹ 2023. 7. 27. 09:06
728x90

μ˜€λŠ˜μ€ κ°•μ˜μ—μ„œ 배운 λŒ€λ‘œ

λ¨Όμ € μ–΄λ–€κ²Œ μ£Όμ–΄μ‘Œκ³ , μ–΄λ–€ κ±Έ ꡬ해야 ν•˜λŠ”μ§€ 정리λ₯Ό λ¨Όμ € 해두고, 

κ·Έ λ‹€μŒμ— μ–΄λ–€ λ°©μ‹μœΌλ‘œ ꡬ해야 ν•˜λŠ”μ§€ 써봀닀. 

이 과정도 ν…ŒμŠ€νŠΈμ˜ 일뢀라고 μƒκ°ν•˜κ³  μ“°λ‹ˆ λ‹¨κ³„λ³„λ‘œ μ°¨κ·Όμ°¨κ·Ό μ“Έ 수 μžˆμ—ˆλ‹€. 

 

0. 2차원 λ°°μ—΄κ³Ό 1차원 배열이 μ£Όμ–΄μ§„λ‹€. / return ν•˜λŠ” 건 count 된 숫자
1. 2차원 λ°°μ—΄μ—μ„œ moves λ°°μ—΄μ˜ ν–‰ 쀑 κ°€μž₯ μœ„μ— μžˆλŠ” 수 쀑 0 이 μ•„λ‹Œ 수 λ₯Ό μ°ΎλŠ”λ‹€.
2. μž„μ˜μ˜ λ°”κ΅¬λ‹ˆ array λ₯Ό λ§Œλ“ λ‹€.
3. 1λ²ˆμ—μ„œ 찾은 0이 μ•„λ‹Œ 수λ₯Ό array 에 λ„£λŠ”λ‹€.
4. λ°”κ΅¬λ‹ˆμ—μ„œ 같은 수2κ°œκ°€ μžˆλ‹€λ©΄ μ œκ±°ν•œλ‹€.
5. 제거 된 μΈν˜•μ˜ 개수λ₯Ό κ΅¬ν•œλ‹€. (μ œκ±°λ˜λŠ” 과정이 반볡된 수 *2 λ₯Ό 해도 됨)

 

4λ²ˆμ€ λ”°λ‘œ μ§„ν–‰ν•˜λŠ” 것보닀 3λ²ˆμ„ μ§„ν–‰ν•˜λ©΄μ„œ ν™•μΈν•˜λ©° μ§„ν–‰ν•˜λŠ”κ²Œ 더 κ°„νŽΈν• κ±°λž€ 생각이 λ“€μ—ˆλ‹€.

function solution(board, moves) {
    const basket = [];
    let count = 0;
    moves.forEach(move => {
        for (let i = 0; i < board.length; i++) {
            if (board[i][move - 1] !== 0) {
                if (basket[basket.length - 1] === board[i][move - 1]) {
                    count++;
                    basket.pop();
                } else {
                    basket.push(board[i][move - 1]);
                }
                board[i][move - 1] = 0;
                break;
            }
        }
    });
    return count * 2
}

 

moves 의 μˆ˜λ“€μ„ κΈ°μ€€μœΌλ‘œ board μ—μ„œ 수λ₯Ό μ°ΎλŠ”λ‹€.

moves 의 수인 move λ₯Ό 고정해놓은 μƒνƒœμ—μ„œ

for 문을 돌렀 2차원 배열인 board λ₯Ό νƒμƒ‰ν•œλ‹€.

0이 μ•„λ‹Œ 수일 경우

- λ§Œμ•½ basket 에 μžˆλŠ” λ§ˆμ§€λ§‰ μˆ˜μ™€ λ°œκ²¬ν•œ μˆ˜κ°€ κ°™λ‹€λ©΄, basket μ—μ„œ κ·Έ 수λ₯Ό μ œκ±°ν•΄μ£Όκ³  count λ₯Ό +1 ν•΄μ€€λ‹€.

- λ§Œμ•½ basket 에 μžˆλŠ” λ§ˆμ§€λ§‰ μˆ˜μ™€ λ°œκ²¬ν•œ μˆ˜κ°€ λ‹€λ₯΄λ‹€λ©΄, basket 에 수λ₯Ό μΆ”κ°€ν•΄μ€€λ‹€.

μ–΄μ¨Œλ“  0이 μ•„λ‹Œ μˆ˜κ°€ λ‚˜μ™”κΈ° λ•Œλ¬Έμ— 뽑기가 μ‹€ν–‰λ˜κ³ , board 의 μžλ¦¬μ— 0을 λ„£μ–΄μ€€ λ’€, break 둜 for 문을 μ€‘λ‹¨ν•œλ‹€.

 

count λŠ” 같은 수λ₯Ό λ§Œλ‚˜ μ œκ±°κ°€ μ‹€ν–‰λœ 수이기 λ•Œλ¬Έμ—, 

μΈν˜•μ˜ 수λ₯Ό return ν•˜κΈ° μœ„ν•΄ *2λ₯Ό κ³±ν•œλ‹€.

μΈν˜•μ€ 2κ°œκ°€ λ§Œλ‚˜λ©΄ 무쑰건 사라지기 λ•Œλ¬Έμ— 3콀보 등은 κ³ λ €ν•  ν•„μš”κ°€ μ—†λ‹€. 

 

728x90
λ°˜μ‘ν˜•