반응형
https://programmers.co.kr/learn/courses/30/lessons/64061
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr



2019년에 4solve 탈락, 최근에 프로그래머스에서 다시 열어 준 시험에서는 3solve했던 문제들.
이 문제는 어렵지 않다. board의 각 column별로 수직 탐색하는 대신, 이차원 배열의 column에 해당하는 부분을 row가 되도록 변형하면 된다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 인형이 있는지 탐색하는 함수 | |
def get_doll(idx, board): | |
for i in range(len(board[idx-1])): | |
# 해당 인형이 있으면, 인형의 위치 값을 0으로 수정하고 | |
# 그 인형의 값을 리턴한다. | |
if board[idx-1][i] != 0: | |
value = board[idx-1][i] | |
board[idx-1][i] = 0 | |
return value | |
return None | |
def solution(board, moves): | |
board = list(map(list,zip(*board))) | |
stack = [] | |
answer = 0 | |
for idx in moves: | |
value = get_doll(idx, board) | |
if value is not None: | |
if not stack: | |
stack.append(value) | |
elif stack[-1] == value: | |
answer += 2 | |
stack.pop() | |
else: | |
stack.append(value) | |
return answer | |
반응형
'프로그래밍 > 코딩테스트 문제풀이' 카테고리의 다른 글
[Python] 프로그래머스. 2019 카카오 겨울 인턴 recruit - 튜플 (Level 2) (0) | 2020.04.03 |
---|---|
[Python] 프로그래머스. 2019 카카오 겨울 인턴 recruit - 호텔 방 배정 (Level 4) (0) | 2020.04.02 |
[Python] 백준 2178. 미로 탐색 (0) | 2020.03.31 |
[Python] 백준 1759. 암호 만들기 (0) | 2020.03.26 |
[Python] 프로그래머스. 2019 카카오 recruit - 무지의 먹방 라이브 (Level 3) (0) | 2020.03.25 |