풀이
파이썬으로 처음 풀어본 알고리즘 문제라서 이상한 부분이 있을 수도 있습니다!
moves에서 값을 받아 해당 열을 조사해서 basket의 맨 뒤의 값
즉, 이전에 넣은 인형이 같다면 넣은 인형과 해당 인형 총 2개이므로 정답에 2를 더해주고
이전에 넣은 인형과 다르다면 basket에 넣어주기만 했습니다.
코드
def solution(board, moves):
answer = 0
basket = []
board_len = len(board[0])
for i in moves:
for j in range(0, board_len):
if board[j][i - 1] > 0:
if len(basket) != 0 and basket[-1] == board[j][i - 1]:
basket.pop()
answer += 2
else:
basket.append(board[j][i - 1])
board[j][i - 1] = 0
break
return answer
board = [list(map(int, input().split())) for _ in range(5)]
moves = list(map(int, input().split()))
print(solution(board, moves))
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Python] 체육복 (0) | 2021.02.13 |
---|---|
[Python] 모의고사 (0) | 2021.02.12 |
[Python] 완주하지 못한 선수 (0) | 2021.02.07 |
[Python] 신규 아이디 추천 (0) | 2021.02.04 |
[Python] 두 개 뽑아서 더하기 (0) | 2021.01.30 |