월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
13. 섬나라 아일랜드(DFS) 질문
복습하는 과정에서 격자판 문제에 대하여 질문이 있습니다.격자판의 경우 2차원 배열이기 때문에board[i][j] 라고 할 때, DFS에서 i는 x로 j는 y로 문제를 풀어주셨습니다. ex)board[nx][ny]보통 j 열번호고, i가 행번호이기 때문에 x가 j에 해당하고 y가 i에 해당하는게 아닌가요?즉 => board[ny][nx]가 맞는게 아닌가라는 생각을 했습니다.board의 가로 세로가 길이가 다를 때 헷갈려서 질문드립니다. 또한 DFS를 아래와 같은 방식으로 풀었는데, 여기서board[y][x]로 하게되면 정답이 틀렸지만, board[x][y]로 하게되면 정답이 됩니다. 어떠한 차이인지 잘 모르겠습니다.import java.util.*; public class Main { static int[][] board; static int n; // 좌상 상 우상 우 우하 하 좌하 좌 static int[] dx = {-1, 0, 1, 1, 1, 0, -1, 1}; // j static int[] dy = {1, 1, 1, 0, -1, -1, -1, 0}; // i static void DFS(int x, int y) { if(board[y][x] == 0) return; else { board[y][x] = 0; for(int i=0; i<8; i++) { int nx = x + dx[i]; int ny = y + dy[i]; if(nx>=0 && ny>=0 && nx<n && ny<n) { DFS(nx, ny); } } } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); board = new int[n][n]; int cnt = 0; for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { board[i][j] = sc.nextInt(); } } for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { if(board[i][j] == 1) { DFS(j, i); // x, y cnt++; } } } System.out.println(cnt); } }
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
코딩테스트 누락 문의
안녕하세요. 강의 매우 유익하게 잘 듣고 있습니다.문제 푸는 도중 하기 문제가 누락되 공유 합니다. 7강 : 8번밖에 없음8강 : 4번, 6번, 9번, 15번9강 : 5번, 8번누락인데 언제 개선 될까요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
5-6 공주구하기
import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class Main { public int solution(int n,int m) { int answer= 0; Queue<Integer> qu = new LinkedList<>(); for(int i=0; i<n; i++) { qu.offer(i); } while(qu.size()!=1) { for(int i=0; i<m-1; i++) { qu.poll(); if(qu.size()==1) { break; }else{ qu.offer(qu.poll()); } } } answer = qu.peek(); return answer } public static void main(String[] args) { Scanner sc =new Scanner(System.in); Main T = new Main(); int N = sc.nextInt(); int M = sc.nextInt(); System.out.println(T.solution(N,M)); }} 예제를 입력하면 맞다고 나오는데 계속 수정해도 채점 사이트에서는 틀리다고 나와서 어느 부분에서 틀린지 잘모르겠어요 ㅠ.ㅠ
- 해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
송아지 문제
혹시 송아지 문제에서 한 번의 점프로 앞으로 1, 뒤로 1 가게 하고 점프 없이 앞으로 5를 갈 수 있다고 한다면 어떻게 해야 하나요? 클래스 Point 를 만들지 않고 푸는 방법이 궁금합니다.
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
문제 관련해서 잘못된 부분이 있습니다.
전 항상 강의 듣기전 설명, 입력, 출력만 보고 시간이 얾마나 걸리던 풀고 강의를 보는데,입력 란에 첫 줄에 길이 100을 넘지 않는 '공백이 없는 문자열이 주어집니다.' 라고 되어있어서당연하게 next()를 사용했는데, 아무리 채점사이트 돌려봐도 오답이라길래 찾다 찾다 못 찾아서 보니, 바로 nextLine()을 사용하셨네요ㅠㅠ 결론은 공백이 있는 문자열이 존재합니다..부디 이걸보고 저 같은분 없길 바라며 남겨봅니다.
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
BFS질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. BFS에서 부모노드에 딸린 자식노드가 3개 이상이 될 수도 있나요?그리고 BFS에서 최단거리의 노드값들을 따로 저장해두려면 어떤 방법을 사용하면 될까요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
list로 풀었는데 런타임오류가 납니다
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int K = sc.nextInt(); int[] arr = new int[N]; for (int i = 0; i < N; i++) { arr[i] = sc.nextInt(); } new Main().solution(N, K, arr); } private void solution(int N, int K, int[] arr) { int lt = 0; int cnt = 0; List<Integer> list = new ArrayList<>(); for (int rt = 0; rt < N; rt++) { if (list.contains(arr[rt])) { cnt++; } list.add(arr[rt]); if (rt - lt + 1 == K) { System.out.print((K - cnt) + " "); list.remove(lt++); cnt = 0; } } } } 안녕하세요 위와 같이 list로 풀어봤는데ide에서 답은 제대로 나옵니다근데 채점사이트에서는 런타임 오류가 발생하는데 왜 안되는지 궁금합니다
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
어디가 오류인지 모르겠습니다.
import java.util.Scanner;public class exam8 { public static void main(String[] args) { Scanner sc =new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N]; for(int i=0; i<N; i++) { int a = sc.nextInt(); arr[i] = a; } for(int i=0; i<N; i++) { int count = 1; for(int j=0; j<N; j++) { if(arr[j]>arr[i]){ count++; } } arr[i] = count; } for(int i=0;i<arr.length;i++) { System.out.print(arr[i]+" "); } } } 출력값이 아무리 봐도 왜 4 3 2 1 1 이 나오는지 모르겠습니다 .
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
안녕 하세요~~
강의 마다 빅오 표기법도 같이 넣어주셨으면 좋겠습니다^^
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
(nx ==7 && ny == 7) 일때 return 해줘야 하지 않나요?
저는 아래와 같이 nx가 7이 될때 return을 해줘야 한다고 생각했습니다.왜냐하면 distance 배열에서 거리를 입력하는데, 7,7에 도착하는 순간 return을 한 그 순간의 값이 최단경로의 길이라고 생각했습니다.return을 해주지 않는다면 distance[7][7]의 값이 최단 거리가 아닌 가장 긴 거리의 값으로 덮어써 진다고 생각을 했는데, 왜 (nx ==7 && ny == 7)경우 return 하게끔 예외처리를 해주지 않아도 되는지 궁금합니다. for (int i = 0; i < 4; i++) { int nx = x + dx[i]; int ny = y + dy[i]; // if (nx ==7 && ny == 7) { // distance[nx][ny] = distance[x][y] + 1; // answer = distance[nx][ny]; // return; // } if (nx >= 1 && nx <= 7 && ny >= 1 && ny <= 7 && board[nx][ny] == 0) { // 범위 안이고 해당 좌표의 값이 0 일 경우 board[nx][ny] = 1; distance[nx][ny] = distance[x][y] + 1; queue.offer(new Point(nx, ny)); } }
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
뮤직비디오 문제
안녕하세요 강사님.해당 문제에서 test case 2번 답이 23이 나와야 최소 수용량이 되어야 하는게 아닌지 궁금합니다.기본 예제 1번 같은 경우에도 (8,9)의 용량으로 17이 나오게 되기 때문입니다.
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
안녕 하세요
방문하지 않은 노드중에서 최단 거리가 가장 짧은 노드를 선택해야 하는 이유가 무엇일까요?가장 짧은 노드를 선택하는 이유가 짧은 노드 일 수록 더 정답에 가깝기 때문일까요?짧은 노드로 선택하지 않더라도 문제는 해결이 될 것 같아서요더 긴 경로가 있다고 전제할 때 짧은 경로로 미리 연산을 해놓았다고 한다면 더 긴경로는 구지 연산을 하지 않아도 되는 비용이기 때문일까요??
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
피보나치 수열 오답
2.4.피보나치수열 아래 코드로 오류가 나오는데 왜인지 모르겠습니다... import java.util.*; public class Main { public int[] solution(int n){ int[] answer=new int[n]; answer[0]=1; answer[1]=1; for(int i=2; i<n; i++){ answer[i]=answer[i-2]+answer[i-1]; } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); for(int x : T.solution(n)) System.out.println(x+" "); } }
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
배열 java.lang.ArrayIndexOutOfBoundsException: 질문..
문제에서 가위바위보를 몇번할지 입력받고5번씩 두번 입력받으면for문을 입력받은만큼2번 돌리면되는데배열의 인덱스가0부터 시작하는데입력받은 만큼 돌려야하니까for(int i=1; i<n*2; i++) {}이런형태로 해서문제를 풀었는데배열관련 익셉션이자꾸뜨네요..어느부분이 문제인지모르겠어요 ㅠㅠ
- 해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
solution 클래스 관련 질문드립니다.
강사님 안녕하세요!solution 클래스 작성 시 int n과 int[] arr 두 가지를 인자로 받을 때와 int[] arr 한 가지만 인자로 받을 때 결과는 같은데 차이점이 궁금해서 질문드립니다.public ArrayList<Integer> solution (int n, int[] arr)public ArrayList<Integer> solution (int[] arr)
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
런타임 오류 원인을 모르겠습니다.
import java.util.*; class Main { public static int solution(int count, int[][] array) { int answerRow = 0; int max = 0; for (int i = 0; i < count; i++) { int tmp = 0; for (int j = 0; j < count; j++) { for (int k = 0; k < 5; k++) { if (array[i][k] == array[j][k]) { tmp++; break; } } } if (tmp > max) { max = tmp; answerRow = i; } } return answerRow + 1; } public static void main(String[] args) { Scanner kb = new Scanner(System.in); int count = Integer.valueOf(kb.nextLine()); int[][] array = new int[count][5]; for (int i = 0; i < count; i++) { for (int j = 0; j < 5; j++) { array[i][j] = kb.nextInt(); } kb.nextLine(); } System.out.print(solution(count, array)); } }채점 사이트의 2번, 3번 케이스에서 런타임 오류가 나는데 원인을 모르겠습니다. 제 로컬에서는 런타임 오류가 나지 않고 2, 3번 모두 올바른 결과가 나옵니다. 혹시 원인을 알려주시면 정말 감사하겠습니다!
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
시간복잡도 질문합니다
O(n^2)을 계산하면 O(100억)인데 시간 1000ms과 어떤 관련이 있나요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
체점관련문의
강의보면서 답 똑같이 입려했는데 컴파일에러가 납니다 이유가 궁금해요 ,, 강의랑 똑같이 입력했습니다
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
어떻게 a 배열, b 배열에 알아서 잘 담겨지는지 모르겠습니다.
값이 들어왔을때5 2 3 3 1 3 1 1 2 2 3이게 어떻게 a 배열, b 배열에 알아서 잘 담겨지는지 모르겠습니다. int n = sc.nextInt(); int [] a = new int[n]; int [] b = new int [n]; for(int i =0; i<n; i++){ a[i] = sc.nextInt(); } for(int i =0; i<n; i++){ b[i] = sc.nextInt(); }이런건 그냥 외우는 건가요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
채점 관련질문...
이클립스에서는 실행되는데채점만 하면 계속 런타임 에러가 나네요지금 현재 2강까지 해봤는데모두 런타임에러가나네요,,,어떻게해결해야할까요? ㅠㅠㅠㅠ