CS/알고리즘 문제 풀이

[프로그래머스] 크레인 인형뽑기 게임 [Java(자바)]

2021. 7. 15. 17:51
목차
  1. 문제
  2. 풀이
  3. 코드

문제

https://programmers.co.kr/learn/courses/30/lessons/64061

 

코딩테스트 연습 - 크레인 인형뽑기 게임

[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4

programmers.co.kr

 

풀이

문제의 설명이 아주 친절하기 때문에 그대로 풀면되는 간단한 구현 문제였다. 

 

이중 for문을 통해 해당 열의 가장 위에 있는 인형을 확인한다. 이 과정에서 기존 스택의 가장 위에 있는 인형(basket.peek( ))과 가장 위에 있는 인형(value)을 비교해서 동일하다면 스택에 있는 인형을 제거하고, 아니라면 인형을 스택에 넣는다. 이때, 스택에 먼저 인형을 하나 넣음으로써 peek( )메소드 호출 시 발생하는 index error문제를 방지한다.

 

코드

import java.util.Stack;

class Solution {
    public int solution(int[][] board, int[] moves) {
        int answer = 0;
        int LEN = board.length;
        
        Stack<Integer> basket = new Stack<>();
        basket.push(-1);
        
        for (int num:moves) {
            int c = num-1;
            for (int i=0; i<LEN; i++) {
                if (board[i][c] != 0) {
                    int value = board[i][c];
                    if (basket.peek() == value) {
                        basket.pop();
                        answer += 2;
                    } else {
                        basket.push(value);    
                    }
                    board[i][c] = 0;
                    break;
                }
            }
        }
        return answer;
    }
    
}
저작자표시 비영리 (새창열림)

'CS > 알고리즘 문제 풀이' 카테고리의 다른 글

[백준] 3020 - 개똥벌레 [Python(파이썬)]  (0) 2021.07.19
[백준] 18234 - 당근 훔쳐 먹기 [Python(파이썬)]  (0) 2021.07.19
[백준] 11497 - 통나무 건너뛰기 [Python(파이썬)]  (2) 2021.07.02
[백준] 2668 - 숫자고르기 [Python(파이썬)]  (0) 2021.06.28
[백준] 2660 - 회장 뽑기 [Python(파이썬)]  (0) 2021.06.28
  1. 문제
  2. 풀이
  3. 코드
'CS/알고리즘 문제 풀이' 카테고리의 다른 글
  • [백준] 3020 - 개똥벌레 [Python(파이썬)]
  • [백준] 18234 - 당근 훔쳐 먹기 [Python(파이썬)]
  • [백준] 11497 - 통나무 건너뛰기 [Python(파이썬)]
  • [백준] 2668 - 숫자고르기 [Python(파이썬)]
코택
코택
코택
TaxFree
코택
전체
오늘
어제
  • 분류 전체보기 (369)
    • Spring (29)
      • Spring (18)
      • 스프링 핵심 원리 - 고급편 (11)
    • Spring Batch (4)
    • JPA (4)
    • CS (89)
      • 자료구조 (2)
      • 네트워크 (5)
      • 운영체제 (1)
      • 데이터베이스 (4)
      • SQL (7)
      • 알고리즘 이론 (4)
      • 알고리즘 문제 풀이 (66)
    • 웹 (28)
      • React.js (4)
      • Next.js (1)
      • Node.js (14)
      • FastAPI (4)
      • Django (5)
    • 프로그래밍 언어 (45)
      • Python (5)
      • Java + Kotlin (29)
      • JavaScript + TypeScript (11)
    • 테스트코드 (26)
      • ATDD, 클린 코드 with Spring (4)
      • 이규원의 현실 세상의 TDD: 안정감을 주는 코드.. (20)
    • 인프라 (6)
      • AWS (2)
      • Kubernetes (4)
    • 트러블슈팅 (25)
    • 책 (89)
      • Effective Java (54)
      • Effective Kotlin (14)
      • 도메인 주도 개발 시작하기: DDD 핵심 개념 정.. (11)
      • 웹 프로그래머를 위한 데이터베이스를 지탱하는 기술 (6)
      • 도메인 주도 설계 첫걸음 (4)
    • Git (10)
    • 회고 (5)
    • etc (8)

블로그 메뉴

  • 홈
  • 방명록
  • 관리
  • GitHub
  • LinkedIn

공지사항

  • 스킨 관련

인기 글

태그

  • Shortest Path
  • 그래프
  • 브루트포스
  • http
  • 파이썬
  • BOJ
  • Git
  • 깊이 우선 탐색
  • 백준
  • mysql
  • fastapi
  • atdd
  • 그래프 탐색
  • dp
  • 장고

최근 댓글

최근 글

hELLO · Designed By 정상우.
코택
[프로그래머스] 크레인 인형뽑기 게임 [Java(자바)]
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.