undefined
[프로그래머스] 크레인 인형뽑기 -JS 본문
반응형
문제 설명
문제 풀이
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 끝냄
반응형
'Coding Test' 카테고리의 다른 글
[프로그래머스] 로또의 최고 순위와 최저 순위 -JS (0) | 2022.07.01 |
---|---|
[프로그래머스] 신규 아이디 추천 -JS (0) | 2022.07.01 |
[프로그래머스] 소수 만들기 -자바스크립트(JS) (0) | 2022.06.28 |
[프로그래머스] 비밀지도 -JS (0) | 2022.06.27 |
[프로그래머스] 다트게임 -자바스크립트(JS) (0) | 2022.06.26 |
Comments