문제
https://school.programmers.co.kr/learn/courses/30/lessons/64061
설계
- bucket을 활용
python
def solution(board, moves):
answer = 0
bucket = []
for move in moves:
for i in range(len(board)):
if board[i][move-1] > 0: # index는 0부터 시작, 1을 빼준다.
bucket.append(board[i][move-1])
board[i][move-1] = 0
break
if len(bucket) >= 2: # 버킷에 인형이 2개 이상 담겨있을 때
if bucket[-1] == bucket[-2]: # 같은 인형이 2개 있을 경우 2개 모두 제거
bucket.pop()
bucket.pop()
answer += 2 # 인형이 2개 터진다.
return answer
JavaScript
- 아래와 같이 파이썬과 다르게 인덱스가 예상과 다르게 undefined가 되는 점을 주의해야 한다.
bucket = [1, 2, 3]
console.log(bucket[-1]) // undefined
function solution(board, moves) {
var answer = 0;
const bucket = [];
moves.forEach((move) => {
for (let i = 0; i < board.length; i++) {
// 크레인으로 뽑기
if (board[i][move - 1] > 0) {
bucket.push(board[i][move - 1]);
board[i][move - 1] = 0;
// 삭제할 인형 확인하기
if (bucket.length >= 2) {
if (bucket[bucket.length - 1] === bucket[bucket.length - 2]) {
console.log(bucket);
bucket.pop();
bucket.pop();
answer += 2;
}
}
break;
}
}
});
return answer;
}
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 내적 (0) | 2022.08.08 |
---|---|
[프로그래머스] 완주하지 못한 선수 (0) | 2022.08.07 |
[프로그래머스] 신규 아이디 추천 (0) | 2022.07.28 |
[프로그래머스] 신고 결과 받기 - 파이썬 (0) | 2022.07.27 |
[프로그래머스] SQL 고득점 Kit - IS NULL (0) | 2022.04.19 |