inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

3. 크레인 인형뽑기

테스트 케이스 한 개 통과하지 못하는 문제

해결된 질문

323

현상혁

작성한 질문수 14

0

solution 코드를 아래와 같이 작성했습니다.

public static int solution(int n, int[][] board, int m, int[] moves) {
        int answer = 0;

        // stack 만들기
        List<Stack<Integer>> stacks = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            Stack<Integer> tmp = new Stack<>();
            for (int j = n - 1; j >= 0; j--) {
                if (board[j][i] == 0) break;
                tmp.push(board[j][i]);
            }
            stacks.add(tmp);
        }

        Stack<Integer> bucket = new Stack<>();
        for (int i : moves) {
            if (!stacks.get(i-1).isEmpty()){
                int newItem = stacks.get(i-1).pop();
                if (!bucket.isEmpty() && bucket.peek() == newItem) {
                    bucket.pop();
                    answer += 2;
                } else bucket.push(newItem);
            }
        }
        return answer;
}

board의 상단 인형에 접근하는 방법으로 저는 Stack의 List를 만들어 사용했고, 강사님은 직접 배열에 접근했다는 것이 차이점인 것 같습니다.

위 코드로 채점을 해보면 4번 test case까지는 통과하지만 마지막 5번 test case를 통과하지 못합니다. (리턴 : 22, 답 : 16)

코드의 효율성 문제를 떠나서 위 코드도 제대로 동작해야 될 것 같은데 마지막 케이스만 통과하지 못하는 이유를 도저히 못 찾겠네요ㅜㅜ

혹시 이유를 아시는 분이 계실까요..?ㅜ

java 코테 준비 같이 해요!

답변 1

0

구구

5번 문항 테스트 케이스를 잘 보시면 N번 째 줄의 인형을 쌓을 때 0 0 0 1 2 3 이런 식으로 쌓이는 경우 뿐 아니라 0 1 0 2 3 같은 경우도 있습니다.

if (board[j][i] == 0) break;
처럼 N번 째 줄에 대한 스택을 그만 쌓도록 하면 리턴값이 22 나올 겁니다.

안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.

0

59

2

갑자기 채점 사이트가 바뀌었어요

0

42

1

문제 리스트 페이지

0

38

1

채점 사이트 관련 질문드립니다

0

34

1

봉우리 문제 질문입니다

0

94

2

씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?

0

70

0

이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?

0

74

0

가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법

0

74

1

좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ

0

88

2

6-7 강의에서

0

51

1

6-6. 장난꾸러기 질문 있습니다.

0

49

1

강의 수강후 코딩테스트

0

119

1

answer 변수 사용 여부

0

49

1

2중 for문

1

89

2

2-11. 임시반장정하기 (Runtime Error)

0

65

1

혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?

0

74

1

이런 풀이는 어떨까요

0

50

1

자바 스트림 방식의 효율성 질문 드립니다.

0

61

1

알고리즘 자료 구조들..

0

66

1

StringBuilder vs BufferdWriter

0

51

1

원더랜드(프림)

0

54

1

이런 코드는 어떤가요?

0

65

1

bfs 풀이

0

61

1

병합정렬

0

58

1