티스토리 뷰

문제출처 - https://programmers.co.kr/learn/courses/30/lessons/64061

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

function solution(board, moves) {
    let answer = 0;
    let stack = [];
    
    for(let i=0; i<moves.length; i++) {
        let flag = false;  // 인형이 있으면 true
        let idx = 0;  // board에서 몇번째 row에 인형이 있는지
        
        // moves[i]-1번째 column에 인형이 있는지 찾기
        for(let j=0; j<board.length; j++) {
            if(board[j][moves[i]-1] !== 0) {
                flag = true;
                idx = j;
                break;
            }
        }
        
        if(flag) {
            if(stack.length !== 0 && stack[stack.length - 1] === board[idx][moves[i]-1]) {
                stack.pop();
                answer += 2;
            } else {
                stack.push(board[idx][moves[i]-1]);
            }
            board[idx][moves[i]-1] = 0;
        }
    }
    
    return answer;
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함