월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
이동 순서 출력
이동 순서 출력하려면 어떤 식으로 코드를 작성해야 하나요.. 쉬울 것 같았는데 막상 해보니까 잘 안되네요..
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
질문있습니다.
안녕하세요 강사님! solution함수에서 파라미터 n은 사용하지 않으셨는데 그럼 없어도 상관없는건가요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
String[] 으로 선언한 s 변수가 제 생각대로 출력이 되지 않음. (문제풀이엔 상관 업지만, 개념적인 부분)
import java.util.Scanner;public class Main3 { public String solution(String str) { String answer = ""; int m = Integer.MIN_VALUE; String[] s = str.split(" "); System.out.println(s); // 이렇게 하면 ["it" , "is" , "time"] 이렇게 보일 줄 알았는데 왜 안 보일까? for (String x : s) { System.out.println(x); } return answer; } public static void main(String[] args) { Main3 T = new Main3(); Scanner kb = new Scanner(System.in); String str = kb.nextLine(); // next는 공백을 기준으로 한 단어 또는 한 문자씩 입력받는다. 쉽게 말해 공백 이후의 글자는 날라간다?! nextLine은 문장 전체가 공백 포함해서 통으로 입력됨 System.out.println(T.solution(str)); }}질문위의 코드 중에에서 System.out.println(s); 이 부분이 이렇게 하면 ["it" , "is" , "time"] 이렇게 보일 줄 알았는데 왜 안 보일까요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
질문입니다.
안녕하세요. for(int x : T.solution(n, m, a, b)) System.out.print(x+" "); 이런식으로 for문이 도는데 int x 가 어떤걸 기준으로 돌게 되는지 궁금합니다. 여러개의 변수가 넘어가는데 저 x는 어떤걸 기점으로 x가 도는건지 알려주시면 감사하겠습니다.
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
박싱과 언박싱
안녕하세요 강사님 영상 잘 보고 있습니다. 이번 강의 문제를 int[]가 아닌 Integer[]로 배열을 받아 풀이 했을 때는 동일한 알고리즘으로 풀었는데도 시간 초과가 떴는데요. 이러한 이유는 int와 Integer 사이의 언박싱과 박싱 때문에 그러는걸까요? 만약 그렇다면, while문 내에서 대소를 비교하는 과정에서 int로 변환하여 대소 비교하는 과정을 반복해서 시간 초과가 난 것 같은데, 이 부분이 맞는지 궁금합니다.
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
미로의 최단거리(BFS)문제 질문입니다!
미로의 최단거리(BFS)문제에서 dis[7][7]이 (7,7)에 도착하는 최소 거리라는 보장이 되나요?? 먼저 12번째로 (7,7)에 도착하고 이후에 다른경로로도 (7,7)에 도착할탠데 이때 dis[7][7]이 오버라이딩되서 더 큰 수로 바뀔수도 있는거 아닌가 궁금해서 질문 드렸습니다!!
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
런타임 에러
안녕하세요. 강사님. 질문이 있습니다. 제가 IDE에서 테스트 코드로 실행했을때 정상적으로 나오는데 채점 사이트에 실행하면 런타임에러가 떠서 질문드립니다! 강사님께서 배열을 1부터 조회하는걸 0부터 조회하는걸로 바꾸고 마지막 i값에 1을 더해서 구현했습니다. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in=new Scanner(System.in); int a = in.nextInt(); int b[][] = new int[a][a]; for(int i =0;i<a;i++){ for(int j =0;j<a;j++){ b[i][j] = in.nextInt(); } } Main T = new Main(); System.out.println(T.solution(a, b)); } private int solution(int a, int[][] b) { int answer = 0; int max = Integer.MIN_VALUE; for (int i = 0; i < a; i++) { int cnt=0; for (int j = 0; j < a; j++) { for (int k = 0; k < 5; k++) { if (b[i][k] == b[j][k]) { cnt++; break; } } } if (cnt > max) { max=cnt; answer=i+1; } } return answer; } }
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
HashSet을 이용한 방식도 괜찮나요?
Set을 이용해서 작성해봤는데 이 방법은 어떤지 궁금합니다. import java.util.*; public class Q6Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char[] value = sc.nextLine().toCharArray(); Set<String> cache = new HashSet<>(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < value.length; i++) { String val = String.valueOf(value[i]); if (cache.contains(val)) { continue; } cache.add(val); sb.append(val); } System.out.println(sb.toString()); } }
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
왜 런타임 에러가 나는지 모르겠습니다.
아무리봐도 선생님께서 짜신 코드하고 다른게 없는거 같은데 왜 런타임 에러가 나는지 모르겠습니다. 가르쳐주세요! 죄송합니다 다시 고쳐서 올립니다! import java.util.HashMap; import java.util.Scanner; public class Main { public int solution(String str, String str2) { HashMap<Character, Integer> temp = new HashMap<>(); HashMap<Character, Integer> temp2 = new HashMap<>(); int answer = 0, lt = 0; int n = str2.length(); for(char x : str2.toCharArray()) temp.put(x, 1); for(int i = 0; i < n-1; i++) { temp2.put(str.charAt(i), 1); } for(int i = n-1; i < str.length(); i++) { temp2.put(str.charAt(i), temp2.getOrDefault(str.charAt(i), 0) + 1); if(temp.equals(temp2)) answer++; temp2.put(str.charAt(lt), temp2.get(str.charAt(lt)) - 1); if(temp2.get(str.charAt(lt)) == 0) temp2.remove(str.charAt(lt)); lt++; } return answer; } public static void main(String[] args) { // TODO Auto-generated method stub Main T = new Main(); Scanner sc = new Scanner(System.in); String str = sc.next(); String str2 = sc.next(); System.out.print(T.solution(str, str2)); } }
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
안녕하세요, 강사님.
강의 정말 잘 보고 있습니다. 이번 강의는 정말 인상 깊었는데요. 저는 주로 생각나는대로 풀어서 문제를 푸는 데요, 이런 식의 신박한 풀이를 하려면 어떤식으로 생각을 해봐야할까요?ㅎㅎ 일단 좋은 코드를 많이 보는 것도 좋을 것 같고, 혼자서도 고민을 많이 해봐야겠지만 궁금해서요.. 코드를 효율적으로 창의적으로 만드는 분들의 생각 방식이나 이런 것들이요.. 유익한 강의 감사합니다 항상 :)
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
문제 Array 6번
우선 선생님의 강의를 먼저보긴 했는데 저기 숫자를 뒤집는 방법에서 이렇게 사용하면 문제가 될까요? reverse로 뒤집고 Integer.parseInt를 했을 경우에 0을 그냥 생략하고 만들어주는걸 알기 때문에 이런 식으로 풀어서 정답은 나왔는데 따로 문제나 활용적인면에서 문제가 있는가 궁금합니다! import java.util.Scanner; public class Main { public boolean isPrime(int num) { if( num == 1 ) return false; for(int i = 2; i < num; i++) { if(num % i == 0) return false; } return true; } public String solution(int n, String str) { String answer = ""; String [] temp = str.split(" "); for(int i = 0; i < temp.length; i++) { temp[i] = new StringBuilder(temp[i]).reverse().toString(); } for(String x: temp) { if(isPrime(Integer.parseInt(x))) answer += String.valueOf(Integer.parseInt(x)) + " "; } return answer; } // public ArrayList<Integer> solution(int n, int[] arr){ // ArrayList<Integer> answer = new ArrayList<>(); // // // //// for(int i = 0; i < n; i++) { //// int tmp = arr[i]; //// int res= 0; //// while(tmp > 0) { //// int t = tmp % 10; //// res = res * 10 + t; //// tmp = tmp/ 10; //// } //// if(isPrime(res)) answer.add(res); //// } // // // return answer; // } public static void main(String[] args) { // TODO Auto-generated method stub Main T = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.nextLine(); String str = sc.nextLine(); // int [] arr = new int[n]; // for(int i = 0; i < n; i++) { // arr[i] = sc.nextInt(); // } System.out.println(T.solution(n, str)); // for(int x: T.solution(n, arr)) { // System.out.print(x + " "); // } } }
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
<특정문자 뒤집기>함수 질문
while(lt<rt){ if(!Character.isAlphabetic(s[lt])lt++; else if(!Character.isAlphabetic(s([rt])rt--; else{ char tmp=s[lt]; s[lt]=s[rt]; s[rt]=tmp; lt++; rt--; } } 안녕하세요 강사님 특정문자 뒤집기 문제에서 핵심 함수가 이해가 되지않아 질문드립니다. 제가 궁금한 점은 while문을 돌때 lt값과 rt값이 동시에 검증되는 것인지 아니면 while문 1번에 값이 하나만 검증되는 것인지 궁금합니다. 입력 값이 a#b!GE*T@S 일때 lt<rt이기때문에 lt는 알파벳이 아니기 때문에 1증가해서 두번째를 가리킵니다. 이 때 if문을 수행했기 때문에 while문을 빠져나오는 것 아닌가요? 3개중 하나를 만족하면 나오는 걸로 알고 있습니다. 아니면 그 다음 else if 문을 실행하여 rt값을 검증하고 1감소시키고 else문까지 끝까지 검증하고 while문 검증이 완료되는 것인지 궁금합니다. 답변 부탁드리겠습니다. 감사합니다.
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
슬라이딩 윈도우
안녕하세요 ! 저는 반복문이 3차 이상으로 되면 효율적이지 못한 코드라는 이야기를 종종 듣곤 하는데요 ! 이런 문제 같은 경우, 슬라이딩 윈도우로 문제를 풀게 된다면 더 효율적인 코드라고 말 할 수 있나요??
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
코딩 에러 질문합니다ㅠ
안녕하세요 선생님 임시반장 구하기 문제에서 몇번을 확인해봐도 오류를 발견하지 못했는데 에러가 해결이 안되서 조언 구합니다 ㅠㅠ import java.util.*; //임시반장 구하기 class Main{ public int solution(int n, int[][] arr){ int answer=0,max=Integer.MIN_VALUE; for(int i=1;i<=n;i++){ int cnt=0; for(int j=1;i<=n;j++){ for(int k=1;i<=5;k++){ if(arr[i][k]==arr[j][k]){ cnt++; break; } } } if(cnt>max){ max=cnt; answer=i; } } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner kb=new Scanner(System.in); int n=kb.nextInt(); int[][] arr=new int[n+1][6]; for(int i=1;i<=n;i++){ for(int j=1;j<=5; j++){ arr[i][j]=kb.nextInt(); } } System.out.print(T.solution(n,arr)); } } 여기까지가 소스이구 실행했을 때 다음과 같은 메세지가 떴습니다. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 6 at Main.solution(Main.java:10) at Main.main(Main.java:39) 왜 계속 에러가 뜨는것일까요?ㅠ 조언 부탁드리겠습니다
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
비교연산 질문있습니다.
이전 수업에서는 비교연산할때 Comparable 상속받아서 compareto()라는 함수를 만들고 Collections.sort()에서 함수를 적용해 비교를 했는데 이번 수업에서는 따로 오버라이드 하지 않고 바로 Arrays.sort()를 사용해서 비교 연산을 하나요?? 가능한지 궁금합니다.
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
계단을 오를때
선생님~! 예를들어 계단 3번까지 오를때는 1번에서 3번을 갈때 바닥에서 1번까지 가는 경우의수는 1개이지만, 1번에서 3번까지 가는 방법은 1->2->3 한칸씩 이동하는 방법 한개와 1->3 두칸 이동해서 한번에 가는 방법 한개 이렇게해서 1번에서 3번까지 가는 방법이 총 두개가 되지 않나요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
시간복잡도
정답에서 for문 안에 while문이 존재하는데 왜 시간복잡도가 O(N^2)가 아니라 O(N)이 되나요? 앞서 다른분이 비슷한 질문을 하신건 봤지만 잘 이해가 가지 않아서 다시 질문드립니다... ㅠㅠ
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
자바 기초질문 드립니다
문자열 입력받을때는 왜 String[] str 이렇게 스트링 배열로 받고 함수 출력할 때는 ArrayList<String>으로 해야하나요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
수강 관련 문의드립니다.
김태원 강사님 안녕하세요~ 현재 Java 알고리즘 문제풀이 강의 너무 잘 듣고있습니다! "코딩테스트 실전 모의고사(with C++) : 대기업 대비" 강의도 듣고 싶은데 언어가 C++이여서 고민 중입니다. Java 사용하는 사람도 해당 강의 들어도 괜찮을까요?? 답변 부탁드립니다. 감사합니다~
- 해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
3-2 공통원소구하기 관련 질문입니다.
시간복잡도 n 으로 풀라고 되있어서 한참 고민했는데, 강의 영상에는 Array.sort로 두 배열을 먼저 정렬 하셨다라구요. 그러면 이미 복잡도 n^2 아닌가 해서 질문 여쭙니다.