인프런 커뮤니티 질문&답변

tjd125gns님의 프로필 이미지
tjd125gns

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

3-E 왜 틀렸는지 궁금합니다.

해결된 질문

작성

·

140

0

자바로 질문해도 괜찮을까요? 만약에 된다면

저는 자바로 코테를 준비해서 자바로 풀었습니다.

46퍼에서 계속 틀렸다고 나오는데 강의랑 같은 방법으로 답안을 적었다고 생각합니다.

제가 무엇을 잘못했는지 궁금합니다.

import java.util.*;
import java.io.*;

public class P12869 {
    static int n, ret = Integer.MAX_VALUE;
    static int[][][] scv = new int[61][61][61];
    static int[] input = new int[3];
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        n = Integer.parseInt(br.readLine());

        StringTokenizer st = new StringTokenizer(br.readLine());
        for(int i=0; i<n; i++) {
            input[i] = Integer.parseInt(st.nextToken());
        }

        int[][] dire = new int[][]{{-9,-3,-1},{-9,-1,-3},
            {-3,-9,-1},{-3,-1,-9},
            {-1,-3,-9},{-1,-9,-2}};

        Queue<int[]> q = new LinkedList<>();
        q.add(input);
        scv[input[0]][input[1]][input[2]] = 1;

        while(!q.isEmpty()) {
            int[] cur = q.poll();

            if(cur[0]==0&&cur[1]==0&&cur[2]==0)
                break;

            for(int i=0; i<6; i++) {
                int na = (cur[0] + dire[i][0])<0? 0 : cur[0] + dire[i][0];
                int nb = (cur[1] + dire[i][1])<0? 0 : cur[1] + dire[i][1];
                int nc = (cur[2] + dire[i][2])<0? 0 : cur[2] + dire[i][2];

                if(scv[na][nb][nc] != 0)
                    continue;

                scv[na][nb][nc] = scv[cur[0]][cur[1]][cur[2]] + 1;
                q.add(new int[]{na, nb, nc});
            }
        }

        System.out.println(scv[0][0][0]-1);
    }
}

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

먼저 저는 C++이외의 언어로는 답변드리지 않습니다만...

 

그래도 예전에 자바 했던 경험으로 좀 봐드리자면요 ㅎㅎ

            {-1,-3,-9},{-1,-9,-3}};

이케 수정되어야 합니다.

 

나머지 부분은 다 잘 짜신 것 같습니다.

 

감사합니다.

tjd125gns님의 프로필 이미지
tjd125gns
질문자

다른 언어는 답변안해주시는 몰랐습니다 다음부터 조심하겠습니다.

그럼에도 불구하고 빠르게 답변주시고 감사합니다 덕분에 해결했습니다

정말 감사합니다

tjd125gns님의 프로필 이미지
tjd125gns

작성한 질문수

질문하기