Programmers: ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์
โ ์๋ก ๋ฐฐ์ด ์
๋จธ๋ฆฟ์์ผ๋ก ํ๋ฒ์ ์ ๋ฆฌ๊ฐ ์๋๋ฉด ์๋์ฝ๋๋ฅผ ์ฌ์ฉํ์.
๋ด ๋จธ๋ฆฌ๋ก๋ ์ด ๋ฌธ์ ๋ฅผ ์ฝ๊ณ ํ๋ฒ์ ์ฝ๋๊ฐ ๊ตฌ์กฐํ๊ฐ ๋์ง ์์๋ค...
์ฌ์ค ๋ฌธ์ ์ ์ถ๋ ฅ ์์๋ ๊ทธ ์์ ๋ฐ๋ก ์ ๊ทธ๋ฆผ์ ํด๋นํ๋ ์ค ์๊ณ ๋ฌธ์ ์ดํด๋ง ์ญ๋ถ ๋๊ฒ ๊ฑธ๋ ธ๋ค ํํณ
์๋๋ ์ ค ์์ ๊ทธ๋ฆผ์ ํด๋นํ ์์์๋ ๊ฒ.
๋ฌธ์ ์ดํด์ ์๊ฐ ์ผ๋ค๋ ์๊ฐ์ ๋ง ๊ธํด์ ธ์ ๊ทธ๋ฅ ์๊ฐ๋๋ ๋๋ก ๋ฐ๋ก๋ฐ๋ก ์ฝ๋ ์น๋๊น ์ค๋ฅ๊ฐ ๋ง ๋๋๋ผ๊ตฌ..?!
"์ด๋ด๋ ์ฒ์ฒํ ๊ฐ๋๋ผ๋ ์๋์ง"๋ผ๊ณ ์๊ฐํด์
์ํฉ์ ์ต๋ํ ์ธ์ธํ ๋๋์ด์ ์๋์ฝ๋๋ฅผ ๋จผ์ ์์ฑํ๊ณ
๊ทธ๊ฑฐ์ ๋ฐ๋ผ์ ์ฝ๋ฉ์ ํด๋ดค๋๋ ๋๋ค.
๋์ค์๋ ์ด๋ฐ ๋ฌธ์ ๋ ๋ฐ๋ก๋ฐ๋ก ๋ด ๋จธ๋ฆฟ์์์ ๊ตฌ์กฐํ ๋ ์ ์๊ธธ...๐
function solution(board, moves) {
//board์ ๊ฐ์ด 0์ด ์๋ ๋
//cur ๊ฐ๊ณผ board์ ๊ฐ์ด ๊ฐ์ ๋
//pocket ๊ธธ์ด 0๋ณด๋ค ํด๋
//result +=2, pocket ํ๋ ์์ ์ฃผ๊ณ , cur๊ฐ์ ์ดํ์ ๋ง์ง๋ง๊ฑธ๋ก
//pocket์ ๊ธธ์ด๊ฐ 0์ด๋ฉด cur์ 0
//cur๊ฐ๊ณผ board ๊ฐ์ด ๋ค๋ฅผ ๋
//pocket์ ๋ฃ์ด์ฃผ๊ณ cur๊ฐ ๋ฐ๊ฟ์ฃผ๊ธฐ
//๊ณผ์ ๋ค๋๋๋ฉด board ์ซ์ 0์ผ๋ก ๋ง๋ค์ด์ฃผ๊ณ ๊ณผ์ ๋๋ด๊ธฐ
let pocket = [];
let result = 0;
let cur = 0;
for (let i = 0; i<moves.length; i++) {
for (let j = 0; j<board.length; j++) {
if(board[j][moves[i]-1]!==0) {
if(cur === board[j][moves[i]-1]){
if(pocket.length > 0) {
result += 2;
pocket.pop();
cur = pocket[pocket.length-1];
} else {
cur = 0;
}
} else {
pocket.push(board[j][moves[i]-1]);
cur = board[j][moves[i]-1];
}
board[j][moves[i]-1] = 0;
break;
}
}
}
return result;
}