반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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 31
Archives
Today
Total
관리 메뉴

undefined

[프로그래머스] 크레인 인형뽑기 -JS 본문

Coding Test

[프로그래머스] 크레인 인형뽑기 -JS

JavaScripter 2022. 6. 30. 11:06
반응형

문제 설명

 


문제 풀이

function solution(board, moves) {
    let basket = []
    let answer = 0
    for(let e of moves) {
        for(let i =0; i < board.length; i++) {
            let item = board[i][e-1]
            if(item === 0) continue;
            if(item === basket[basket.length-1]) {
                basket.pop()
                answer += 2
            } else {
                basket.push(item)
            }
            board[i][e-1]=0
            break
        }
    }
    return answer
}

 

[00000]
[00103]
[02501]
[42442]
[35131]

 

moves=[1,5,3,5,1,2,1,4]

 

1. 배열의 특성파악 : moves가 1일때 각 배열의 0번째 값을 구하면 됨 => moves의 값은 변하지 않으나 배열만 변함

 

2. moves의 값이 변하지 않기 때문에 먼저 반복해준 다음에 그 안에서 배열을 반복하기 위해 for루프

 

3. item = 크레인의 위치 

 

4. item이 0(빈칸)일때 continue

 

5. item이 basket의 마지막 요소와 같으면 pop 후 answer 에 2더하기 => 비교만 하고 넣진 않았기 때문에 pop 한번만

 

6. 같지 않을 경우에 basket에 item push

 

7. 한번의 뽑기가 끝나고 item reset (다음 뽑기를 위해)

 

8. 뽑기가 끝나면 break해주어 다음 뽑기로 이동

 


배운 점

continue = 설정한 조건에 해당하면 다음 반복으로 이동

 

break = 설정한 조건에 해당하면 loop 끝냄

반응형
Comments