제 코드의 시간 복잡도
260
jhjikhsdsdw
작성한 질문수 27
0
제 생각에는 시간 차이가 얼마 안날 것 같은데 2개의 케이스에서 시간 초과가 뜨네요.. 피드백 한 번 부탁드려도 될까요?
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Ch8_10_BFS {
static int[][] board = new int[8][8], ch = new int[8][8];
static int[] dx = {-1,0,0,1}, dy = {0, -1, 1, 0};
static int answer = -1;
static class Point {
int x, y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}
public static void BFS() {
Queue<Point> queue = new LinkedList<>();
queue.offer(new Point(1,1));
board[1][1] = 1;
int L = -1;
while(!queue.isEmpty()) {
int len = queue.size();
L++;
for(int i = 0; i < len; i++) {
Point p = queue.poll();
if(p.x == 7 && p.y == 7) {
answer = L;
return;
}
for(int j = 0; j < 4; j++) {
int nx = p.x + dx[j];
int ny = p.y + dy[j];
if(nx >= 1 && nx <= 7 && ny >= 1 && ny <= 7 && board[nx][ny] == 0) {
queue.offer(new Point(nx, ny));
ch[nx][ny] = 1;
}
}
}
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for(int i = 1; i <= 7; i++) {
for(int j = 1; j <= 7; j++) {
board[i][j] = sc.nextInt();
}
}
BFS();
System.out.println(answer);
}
}
답변 1
안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.
0
71
2
갑자기 채점 사이트가 바뀌었어요
0
50
1
문제 리스트 페이지
0
43
1
채점 사이트 관련 질문드립니다
0
42
1
봉우리 문제 질문입니다
0
102
2
씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?
0
73
0
이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?
0
78
0
가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법
0
76
1
좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ
0
94
2
6-7 강의에서
0
53
1
6-6. 장난꾸러기 질문 있습니다.
0
50
1
강의 수강후 코딩테스트
0
127
1
answer 변수 사용 여부
0
50
1
2중 for문
1
96
2
2-11. 임시반장정하기 (Runtime Error)
0
67
1
혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?
0
75
1
이런 풀이는 어떨까요
0
50
1
자바 스트림 방식의 효율성 질문 드립니다.
0
62
1
알고리즘 자료 구조들..
0
68
1
StringBuilder vs BufferdWriter
0
53
1
원더랜드(프림)
0
55
1
이런 코드는 어떤가요?
0
66
1
bfs 풀이
0
62
1
병합정렬
0
58
1





