[programmers] 프로그래머스 크레인 인형뽑기 게임
(C++, Python)
(글쓴날 : 2020.05.08)
* programmers, 프로그래머스 문제 C++, Python 언어 풀이입니다.
* 소스 코드의 저작권은 글쓴이에게 있습니다.
프로그래머스 크레인 인형뽑기 게임
1) 문제
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/64061
2) 풀이 과정
* 시간 복잡도 : O(nm)
N X N 크기의 2차원 배열에 인형으로 가정한 각기 다른 숫자들이 들어있고, 인형들을 주어진 조건에 맞추어 배열에서 꺼내 바구니에 저장할 때, 바구니에서 사라지는 인형의 개수를 구하는 문제입니다.
저의 경우, C++와 Python을 사용했습니다.
인형이 들어있는 배열을 열기준으로 탐색해가며 발견된 인형을 스택으로 구현한 바구니에 저장하였고,
만약, 같은 인형이 push될 경우 답을 2 증가시키고 pop을 2번 하는 식으로 문제를 해결했습니다.
3) 코드
* C++ 코드
* Python 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
def solution(board, moves):
answer = 0
stack = [0]
for m in moves:
isPush = False
for j in range(len(board[0])):
if board[j][m - 1] != 0:
isPush = True
stack.append(board[j][m - 1])
board[j][m - 1] = 0
break
if isPush and stack[-1] == stack[-2]:
answer += 2
stack.pop()
stack.pop()
return answer
|
'Deprecated' 카테고리의 다른 글
[programmers] 프로그래머스 불량 사용자(Python) (0) | 2020.05.10 |
---|---|
[programmers] 프로그래머스 튜플(C++, Python) (0) | 2020.05.09 |
[ALGOSPOT] 알고스팟 FESTIVAL 록 페스티벌(C++, Python) (0) | 2020.05.06 |
[ALGOSPOT] 알고스팟 LIS Longest Increasing Sequence(C++, Python) (0) | 2020.05.03 |
[ALGOSPOT] 알고스팟 TRIANGLEPATH 삼각형 위의 최대 경로(C++, Python) (0) | 2020.05.01 |