Algorithm

[카카오 코테 2019 | python] 크레인 인형뽑기 게임 ✅

삐롱K 2025. 6. 23. 17:49

 

Q1) 문제를 어떻게 이해했나요?
A1) 크레인을 좌우로 움직이며 인형을 집어 바구니에 쌓는다. 같은 인형이 바구니에 연속으로 두 개 쌓이면 터진다. 인형이 터질 때마다 2개 사라지므로 2점을 얻는다. 인형은 가장 위에 있는 것만 집힌다.
Q2) 문제를 어떻게 풀 예정인가요?
A2) moves: 크레인을 몇 번째 열에서 작동시킬지 알려주는 리스트.
크레인 작동 시: 해당 열의 맨 위 인형을 찾는다. 인형을 바구니(stack)에 넣는다. 바구니의 top 2개가 같으면 pop해서 사라진다 → 점수 +2

1. 빈 바구니(basket = [])와 정답(answer = 0) 준비.
2. moves의 각 열에 대해 다음 수행:
위에서 아래로 순회하며 0이 아닌 첫 번째 인형을 찾기.
- 찾았다면: 인형을 바구니로 이동.
- 이전 바구니 top과 같으면 pop 2번, answer += 2
- 아니면 바구니에 추가
- 인형 위치는 0으로 초기화

 

 

😊 내 풀이 

def solution(board, moves):
    bucket = []
    answer = 0
    for move in moves:
        for n in range(len(board)):
            if board[n][move-1] != 0:
                bucket.append(board[n][move-1])
                board[n][move-1] = 0
                break
        if len(bucket) >= 2:
            if bucket[-2] == bucket[-1]:
                bucket = bucket[:-2]
                answer += 2
    return answer

 

✅ 개선할 점

bucket = bucket[:-2]
대신에
bucket.pop()

 

[추천 강의]

https://inf.run/7TU84

 

38군데 합격 비법, 2025 코딩테스트 필수 알고리즘| 딩코딩코 - 인프런 강의

현재 평점 5.0점 수강생 2,019명인 강의를 만나보세요. 초보자도 쉽게 이해하는 단계별 설명으로, 막연했던 코딩 테스트가 명확해집니다. 필요한 것만 배우고 바로 실전에 적용하세요! 알고리즘,

www.inflearn.com

 

https://inf.run/jzapB

 

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법| 딩코딩코 - 인

현재 평점 5.0점 수강생 457명인 강의를 만나보세요. 모든 이력서가 비슷해 보이는 세상, ‘차별화’가 합격을 만듭니다. 6주간, 백엔드 실무자가 직접 전하는 실전 이력서 전략 4가지를 배우세요.

www.inflearn.com

 

728x90
반응형