본문 바로가기
Algorithm/구현

[프로그래머스 lv 1] 크레인 인형뽑기 게임

by HANNI하니 2023. 5. 23.

사용 언어 - Python3

문제 - 크레인 인형뽑기 게임

 

프로그래머스

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

programmers.co.kr

 

 

정답

단순 구현 (정답 맞춘 여부 O)

1. moves 위치의 board 인형이 있다면,

2. 바구니에 담는 인형을 doll 리스트에 저장해준다.

2.1. doll안에 인형이 있고, 마지막 인형이 현재 넣으려는 인형과 같다면,

터트리기 횟수 answer += 2 추가

마지막 인형 삭제

2.2. doll에 인형 append하기

3. 해당 인형을 뽑았으니 없애고 더이상의 board를 검색하지 않고 중단한다. break

def solution(board, moves):
    answer = 0
    doll = []
    
    for m in moves:
        for b in board:
            if b[m-1] >= 1: # 각 줄마다 m줄에 있는 인형이 있다면
                if doll and doll[-1] == b[m-1]: # 가장 마지막 인형과 값이 같다면
                    answer += 2
                    del doll[-1]
                else:
                    doll.append(b[m-1])
                b[m-1] = 0 # 인형 없애기
                break # for b in board 중단
    
    return answer

 

 

레퍼런스

  • 정답 깃허브
 

GitHub - yyeongeun/codingtest: 코딩테스트 공부

코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.

github.com

 

댓글