코딩테스트 연습 - 크레인 인형뽑기 게임 | 프로그래머스 (programmers.co.kr)
생각중
def solution(board, moves):
answer = 0
#board = [[], [], [], [], []]
#basket = []
n = len(board)
for i in moves:
#board는 n*n
#for i in moves:
#board 라인에 하나씩 집어올리는데,
#만약 0이면, pass하고
#끝까지 없어도 없으면 다시 pass한다
#집어올린 인형은 바구니에 쌓는다.
#이때 만약에 두 인형이 같은 것이면, 터뜨린다(answer += 2))
return answer
00000
00103
02501
42442
35131
# 보드의 한 원소는 층을 의미한다. 앞 인덱스가 윗층 아래로 내려올 수록 아래층
# moves는 i-1를 board 원소에 대입하면서 하면 된다.
# board[j]로 두고, j는 0부터 n-1까지 대입할 수 있으며, 계속 0이어도 걍 pass하면 된다.
# board[0][i-1] == 0이면
# board[1][i-1] 확인 등등
풀었다!
def solution(board, moves):
answer = 0
basket = []
n = len(board)
for i in moves:
for j in range(0, n):
if board[j][i-1] != 0:
basket.append(board[j][i-1])
board[j][i-1] = 0
if len(basket) >= 2 and basket[-1] == basket[-2]:
answer += 2
del basket[-1]
del basket[-1]
break
else:
pass
# i += 1
return answer
다른 사람의 풀이 :
def solution(board, moves):
stacklist = []
answer = 0
for i in moves:
for j in range(len(board)):
if board[j][i-1] != 0:
stacklist.append(board[j][i-1])
board[j][i-1] = 0
if len(stacklist) > 1:
if stacklist[-1] == stacklist[-2]:
stacklist.pop(-1)
stacklist.pop(-1)
answer += 2
break
return answer
'Computer Science > 자료구조' 카테고리의 다른 글
[6.9] 프로그래머스 코딩테스트 연습 - 같은 숫자는 싫어(11/100) (0) | 2021.06.09 |
---|---|
[6.8] 프로그래머스 코딩테스트 연습 - 키패드 누르기(10/100) (0) | 2021.06.08 |
[6.7] 프로그래머스 코딩테스트 연습 - 모의고사 (8/100) (0) | 2021.06.07 |
[6.7] 프로그래머스 코딩테스트 연습 - 소수 만들기(7/100) (0) | 2021.06.07 |
[6.6] 프로그래머스 코딩테스트 연습 - 소수 만들기 (7/100) (0) | 2021.06.06 |