inflearn logo
강의

Course

Instructor

Java Coding Test - IT Conglomerate Problem Set

2. "Move Home" Code Explanation

집으로 이동 문제 코드

124

youngyou1324

11 asked

0

안녕하세요 강사님

강사님께서 제시해준 답변 코드에서 의문이 있어서 질문드립니다.

여기서

조건절

 

if(nx <= 10001 && ch[0][nx] == 0){

~

를 보면 nx<=10001이 nx<10001이 되어야 되지 않나요?

ch가 int[][] ch = new int[2][10001]; 이건데

index out of bound 에러 날 것 같습니다.

 

import java.util.*;
class Solution {
	public int solution(int[] pool, int a, int b, int home){
		int[][] ch = new int[2][10001];
		for(int x : pool){
			ch[0][x] = 1;
			ch[1][x] = 1;
		}
		Queue<int[]> Q = new LinkedList<>();
		ch[0][0] = 1;
		ch[1][0] = 1;
		Q.offer(new int[]{0, 0});
		int L = 0;
		while(!Q.isEmpty()){
			int len = Q.size();
			for(int i = 0; i < len; i++){
				int[] cur = Q.poll();
				if(cur[0] == home) return L;
				int nx = cur[0] + a;
				if(nx <= 10001 && ch[0][nx] == 0){
					ch[0][nx] = 1;
					Q.offer(new int[]{nx, 0});
				}
				nx = cur[0] - b;
				if(nx >= 0 && ch[1][nx] == 0 && cur[1] == 0){
					ch[1][nx] = 1;
					Q.offer(new int[]{nx, 1});
				}
			}
			L++;
		}
		return -1;
	}

	public static void main(String[] args){
		Solution T = new Solution();
		System.out.println(T.solution(new int[]{11, 7, 20}, 3, 2, 10));	
		System.out.println(T.solution(new int[]{1, 15, 11}, 3, 2, 5));	
		System.out.println(T.solution(new int[]{9, 15, 35, 30, 20}, 2, 1, 25));	
		System.out.println(T.solution(new int[]{5, 12, 7, 19, 23}, 3, 5, 18));	
		System.out.println(T.solution(new int[]{10, 15, 20}, 3, 2, 2));	
	}
}

java 코딩-테스트

Answer 1

0

codingcamp

안녕하세요^^

그렇네요. 왜 같다는 했을 까요 ㅜㅜ

찾아주셔서 감사합니다.

비밀번호

0

65

1

과일 가져가기 이러한 경우에는 반례가 생기지 않나요?

0

161

2

cpu 스케줄링

0

105

2

외부 문제 질문

0

122

2

가장 많이 사용된 회의실

0

117

2

심사위원 문제 시간복잡도 질문

0

127

1

현관문 출입순서

0

96

1

미로의 최단거리 통로

0

74

1

채점 사이트 개설

0

161

2

송아지를 잡자

1

110

1

다익스트라 + 환승횟수

0

135

2

문제풀이 해설 질문입니다.

0

124

2

"이동 횟수" 문제가 변형된다면?

0

155

2

예제 3번의 정답이 이해가 되지 않아요 선생님 ㅜㅜ

0

248

1

"비밀번호" 문제 확인 부탁드립니다!

0

170

1

최대 길이 연속수열 질문

0

192

1

잃어버린 강아지 문제 count 관련 질문있습니다

0

202

1

바둑대회 질문입니당

0

221

1

5. "최대 길이 바이토닉 수열" 에서 설명해주신 방법과 제가 직접 구현한 방법이 달라, 확인 한번 부탁드립니다

0

310

1

알파코드 풀이질문입니다

0

217

1

7번 비밀 번호 문제에 시간복잡도가 궁금합니다!

0

163

1

혹시 이렇게 작성해도 괜찮나요?

0

285

2

문제풀이 확인 부탁드립니다.

0

244

1

혼자서 푼 문제 확인 부탁드립니다.

0

298

1