๋ฌธ์ œ

์ธํ˜•์ด ์—†๋Š” ์นธ์€ ๋นˆ์นธ์ด๋‹ค. ๋ชจ๋“  ์ธํ˜•์€ 1 x 1 ํฌ๊ธฐ์˜ ๊ฒฉ์ž ํ•œ ์นธ์„ ์ฐจ์ง€, ๊ฒฉ์ž์˜ ๊ฐ€์žฅ ์•„๋ž˜ ์นธ๋ถ€ํ„ฐ ์ฐจ๊ณก์ฐจ๊ณก ์Œ“์ž„

์‚ฌ์šฉ์ž๋Š” ํฌ๋ ˆ์ธ์„ ์ขŒ์šฐ๋กœ ์›€์ง์—ฌ์„œ ๋ฉˆ์ถ˜ ์œ„์น˜์—์„œ ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ์ธํ˜•์„ ์ง‘์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค. 

 

์ง‘์–ด์˜ฌ๋ฆฐ ์ธํ˜•์€ ๋ฐ”๊ตฌ๋‹ˆ์— ์Œ“์ธ๋‹ค. ๋ฐ”๊ตฌ๋‹ˆ์˜ ๊ฐ€์žฅ ์•„๋ž˜ ์นธ๋ถ€ํ„ฐ ์ธํ˜•์ด ์ˆœ์„œ๋Œ€๋กœ ์Œ“์ด๊ฒŒ๋œ๋‹ค.

๊ฐ™์€ ๋ชจ์–‘์˜ ์ธํ˜• ๋‘ ๊ฐœ๊ฐ€ ๋ฐ”๊ตฌ๋‹ˆ์— ์—ฐ์†ํ•ด์„œ ์Œ“์ด๊ฒŒ ๋˜๋ฉด ๋‘ ์ธํ˜•์€ ํ„ฐ๋œจ๋ ค์ง€๋ฉด์„œ ๋ฐ”๊ตฌ๋‹ˆ์—์„œ ์‚ฌ๋ผ์ง„๋‹ค. 

์ธํ˜•์ด ์—†๋Š” ๊ณณ์—์„œ ํฌ๋ ˆ์ธ์„ ์ž‘๋™์‹œํ‚ค๋Š” ๊ฒฝ์šฐ์—๋Š” ์•„๋ฌด๋Ÿฐ ์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค.

 

ํ™”๋ฉด์˜ ๊ฒฉ์ž์˜ ์ƒํƒœ๊ฐ€ ๋‹ด๊ธด 2์ฐจ์› ๋ฐฐ์—ด board

์ธํ˜•์„ ์ง‘๊ธฐ ์œ„ํ•ด ํฌ๋ ˆ์ธ์„ ์ž‘๋™์‹œํ‚จ ์œ„์น˜๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด moves

ํฌ๋ ˆ์ธ์„ ๋ชจ๋‘ ์ž‘๋™์‹œํ‚จ ํ›„ ํ„ฐํŠธ๋ ค์ ธ ์‚ฌ๋ผ์ง„ ์ธํ˜•์˜ ๊ฐœ์ˆ˜๋ฅผ return

 

[์ œํ•œ์‚ฌํ•ญ]

board ์˜ ๊ฐ ์นธ์˜ 0์€ ๋นˆ์นธ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. 

1 ~ 100 ์˜ ์ˆซ์ž๋Š” ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ธํ˜•์˜ ๋ชจ์–‘์„ ์˜๋ฏธํ•˜๋ฉฐ, ๊ฐ™์€ ์ˆซ์ž๋Š” ๊ฐ™์€ ๋ชจ์–‘์˜ ์ธํ˜•์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. 

 

 

 

 

์ฝ”๋“œ

stack์ด์šฉํ•ด์„œ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋‹ค. 

const solution = (board, moves) => {
  // 2์ฐจ์› ๋ฐฐ์—ด์—์„œ moves์˜ ์ˆœ์„œ๋Œ€๋กœ ๊บผ๋‚ด์„œ ๋ฐฐ์—ด์— ๋‹ด๋Š”๋‹ค.
  // ์ค‘๋ณต๋˜๋Š” ํšŸ์ˆ˜ ๊ตฌํ•ด์„œ ๋ฆฌํ„ด
  let answer = 0;
  let basket = [];

  for (let i = 0; i < moves.length; i++) {
    let n = moves[i] - 1; //ํฌ๋ ˆ์ธ ์œ„์น˜ n์„ ๊ธฐ์ค€์œผ๋กœ ์„ธ๋กœ๊ธธ์ด๋งŒํผ ํƒ์ƒ‰

    for (let j = 0; j < board.length; j++) {
      // 0์ด ์•„๋‹Œ ์ˆซ์ž๋ฅผ ๊บผ๋‚ด์„œ basket ๋ฐฐ์—ด์— ๋‹ด๋Š”๋‹ค. 
      if (board[j][n] !== 0) {
        if (basket[basket.length - 1] === board[j][n]) {
          answer += 2;
          basket.pop();
        } else {
          basket.push(board[j][n]);
        }
        board[j][n] = 0; // ๊บผ๋‚ธ ์ž๋ฆฌ 0์œผ๋กœ ์ดˆ๊ธฐํ™”
        break; // ํ•ด๋‹น ํ•œ๊ฐœ๋งŒ ๊บผ๋‚ด๊ธฐ ์œ„ํ•ด์„œ (for๋ฌธ ๋ฉˆ์ถ”๊ธฐ)
      }
    }
  }
  return answer;
}

const board = [
  [0, 0, 0, 0, 0],
  [0, 0, 1, 0, 3],
  [0, 2, 5, 0, 1],
  [4, 2, 4, 4, 2],
  [3, 5, 1, 3, 1]
];
const moves = [1, 5, 3, 5, 1, 2, 1, 4];
console.log(solution(board, moves));

+ Recent posts