인프런 커뮤니티 질문&답변
이 코드 어디에 문제가 있을까요..?
작성
·
211
0
강사님, 안녕하세요?
강사님 코드를 보면서 코드를 짜봤는데 출력이 2가 나옵니다.. ㅜㅜ
아무리 봐도 어디에 문제가 있는지 모르겠는데 어디에 문제가 있을까요..? ㅜㅜ

답변 2
0

오므라이스
질문자
강사님 말씀하신대로 break를 else 밖으로 빼주니까 정답이 나왔어요! 감사합니다 ^^
function solution(board, moves) {
  const stack = [];
  let cnt = 0;
  moves.forEach((pos) => {
    for (let i = 0; i < board.length; i++) {
      if (board[i][pos - 1] !== 0) {
        let target = board[i][pos - 1];
        board[i][pos - 1] = 0;
        if (target === stack[stack.length - 1]) {
          stack.pop();
          cnt += 2;
        } else {
          stack.push(target);
        }
        break;
      }
    }
  });
  return cnt;
}0
김태원
지식공유자
안녕하세요^^
지금 짜신 풀 코드를 제가 디버그 해볼 수 있도록 {;}를 이용해서 텍스트 형태로 올려주세요.
코드를 봐서는 break 위치가 잘 못 된것 같은데요. else 안이 아니라 board의 값이 0이 아닌걸 만나면 스택에 처리하고 무조건 break해야 합니다. break를 else 밖으로 빼보세요.






