월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
4분 50초쯤 질문입니다.
L 은 현재 탐색중인 노드의 인덱스고 n 은 배열의 크기인데 답은 5 -> 12 -> 8(무시) -> 3 순으로 탐색할때 나오는데 이때는 L == n - 1 아닌가요? L == n 일때 부분집합이 완성된다는 말이 잘 이해가 가지 않습니다. 이 부분에 대해 설명해주시면 감사하겠습니다!
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
수열 추측하기 질문
안녕하세요 선생님. 코드를 짜던 중 궁금한 점이 생겨 질문 남깁니다. 정답 코드에서 17라인의 출력하는 부분을 이렇게 옮겼는데 결과가 이상하게 나옵니다.. 그냥 출력하는 부분만 flag를 받는 조건문 쪽에 넣었을 뿐인데 왜 이런 결과가 나오는지 궁금합니다.
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
출력 for -each 문에서 횟수 질문 있습니다 !
for-each 문 출력 하는 곳에서 solution 함수가 ArrayList 인 answer을 반환하는데 ArrayList 에서 add 한만큼 반복해서 출력하는건가요 ??
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
문자 형식과 String 형식 질문 있습니다!
answer 은 String 형식이고 x는 char 형식인데 answer += (char)(x-32); 이렇게 누적할 수 있는건가요 ?? import java.util.Scanner;public class Main{ public static String solution(String str){ String answer = ""; for(char c : str.toCharArray()){ if(65<=c && c<=90) answer += Character.toString(c+32); else answer += Character.toString(c-32); } return answer; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); System.out.println(solution(str)); }} 저는 그래서 toString 으로 했는데 인텔리제이에서 돌리면 정상적으로 되는데 채점하면 컴파일 오류가 생기네요.... 왜그런걸까요 ???
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
4-5 런타임 에러 질문드립니다.
안녕하세요. 강사님 4-5번 문제를 풀어 143이 나와 제출했는데 런타임 에러가 났는데 사유를 알 수 없어 문의드립니다. 한번 봐주시면 감사하겠습니다 ㅠ 설명 현수는 1부터 100사이의 자연수가 적힌 N장의 카드를 가지고 있습니다. 같은 숫자의 카드가 여러장 있을 수 있습니다. 현수는 이 중 3장을 뽑아 각 카드에 적힌 수를 합한 값을 기록하려고 합니다. 3장을 뽑을 수 있는 모든 경우를 기록합니다. 기록한 값 중 K번째로 큰 수를 출력하는 프로그램을 작성하세요. 만약 큰 수부터 만들어진 수가 25 25 23 23 22 20 19......이고 K값이 3이라면 K번째 큰 값은 22입니다. 입력 첫 줄에 자연수 N(3<=N<=100)과 K(1<=K<=50) 입력되고, 그 다음 줄에 N개의 카드값이 입력된다. 출력 첫 줄에 K번째 수를 출력합니다. K번째 수가 존재하지 않으면 -1를 출력합니다. 예시 입력 1 10 3 13 15 34 23 45 65 33 11 26 42 예시 출력 1 143 import java.util.Scanner; import java.util.List; import java.util.ArrayList; import java.util.stream.Collectors; import java.util.Comparator; public class Main { public int solution(int n, int k, int[] arr){ int answer = 0; List<Integer> sumList = new ArrayList<Integer>(); for(int i=0; i<n; i++){ for(int j=i+1; j<n; j++){ for(int x=j+1; x<n; x++){ if(!sumList.contains(arr[i]+arr[j]+arr[x])){ sumList.add(arr[i]+arr[j]+arr[x]); } } } } answer = sumList.stream().sorted(Comparator.reverseOrder()) .collect(Collectors.toList()).get(k-1); // 내림차순 정렬 후 k번째 수 가져오기 // sumList.forEach(System.out::println); return answer; } public static void main(String[] args){ Main main = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int k = kb.nextInt(); int[] arr = new int[n]; for(int i=0; i<n; i++){ arr[i] = kb.nextInt(); } kb.close(); System.out.print(main.solution(n, k, arr)); } }
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
컴파일 에러
안녕하세요 선생님 암호 관련 소스를 짜봤는데 결과는 정상인데 코딩채점에서 submit하니 컴파일 에러가 뜨는데 한번 봐주실 수 있을까요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
시간 복잡도 관련하여 질문 있습니다.
정렬을 써버리면, 이미 시간 복잡도가 NlogN 이 되버리는데 그후에 이분검색의 장점인 시간복잡도 logN을 해봤자, 이미 시간 복잡도는 정렬에서 늘어나버려서 의미가 없지 않나요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
저 공식이 만들어진 이유가 뭔가요?
answer = answer * 10 + ( x - 48) 알고리즘을 풀때 위 공식을 세울 수 있는 방법을 알아야 할 것 같은데 미리 세워둔 공식에 대입한 코드를 짠다는것만 보고서는 이 문제를 만났을 때 풀 수 있을 지 모르겠다는 생각이 듭니다. 아스키 코드로 48~57 사이에 있다는건 알겠는데 answer = answer * 10 + ( x - 48) 이걸 하는거죠 라는 말씀이 이해가 안갑니다. 저 공식이 나오게 된 이유를 알고 싶습니다
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
가장 큰 값을 뺴는 이유가 궁금합니다.
예를 들어서 1 2 5 로 7원을 거슬러줄때 dp[6] 이나 dp[5]가 아닌 dp[2] 에서 1을 더한값과 비교하는 것은 dp[5] dp[6]에서 더해줄 경우 1 + 2 + 5 + 1 과 같이 2개의 동전이 겹치는 경우가 발생하는 반면 dp[2]에서 더해줄 경우 매 순간마다 오름차순 덧셈으로 정렬이 되어서 겹치는 것을 방지 할수 있기에 최적의 해임을 보장받기 때문인가요????
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
오답질문
어떤 이유로 오답이 출력되는지 잘모르겠습니다..ㅜ public int solution(int n, int[][] arr) { int answer = 0; int a[] = {-1, 0, 1, 0}; int b[] = {0, 1, 0, -1}; for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { for(int k=0; k<4; k++) { int nx = i + a[k]; int ny = j + b[k]; if(nx>=0 && nx<n && ny>=0 && ny<n && arr[i][j]>arr[nx][ny]) { answer++; } else { continue; } } } } return answer; }
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
선생님 질문합니다.
강의 잘 듣고 있는 학생입니다. 여기에서 String.valueOf로 문자형으로 바꿔준 이유가 궁금합니다.. 어차피 answer는 문자열이라서 int형인 cnt를 붙여도 answer는 문자열로 잘 나타나잖아요... 출력에 문제 없는데 어떤 이유로 저렇게 쓰신건지 궁금합니다!
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
ArrayList
solution에 int[] 말고 ArrayList를 사용해서 풀었는데 두 가지의 차이점이나 어떨때 사용해야하는지 궁금합니다 선생님
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
질문있습니다!(깃허브)
강사님, 강의 학습내용을 출처를 남기고 깃허브에 private 으로 개인 공부, 복습용으로 문제설명과 소스코드를 업로드해도 되는지 여쭙고싶습니다!
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
질문 있습니다.
혹시 문제 도전해서 30분 안에 풀면 강의보고 넘어가면 되나요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
질문 있어요.
혹시 백준 문제에 있는 문제도 다루나요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
질문드립니다.
안녕하세요. 강사님 2-11 임시반장 정하기 문제를 1. 아래와 같이 풀었는데 틀린 사유를 아직 잘 모르겠어서 질문드립니다. ㅠㅠ 시간되실 때 봐주시면 감사하겠습니다. 2. 강사님의 풀이에서 break를 붙이지 않으면 오답이 된다고 하셨는데 break가 없어도 정답은 나오지 않나요?! 조건문을 빠져나가게 하려는 건 알겠는데.. 3. 해주신 풀이 중 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(); } } 에서 [6][6]이 아닌 [n+1][6]이라고 쓰신 점과 j<=n이 아닌 j<=5로 쓰신 이유도 궁금합니다.. 아는 게 별로 없어 죄송합니다ㅠ import java.util.*; class Main { public int solution(int n, int[][] arr){ int answer=0, max=0; for(int i=0; i<n; i++){ int cnt=0; for(int j=0; j<n; j++){ for(int k=0; k<n; k++){ if(arr[i][k]==arr[j][k]){ cnt++; break; } } } if(cnt>max){ max=cnt; 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(); int[][] arr=new int[n][n]; for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ arr[i][j]=kb.nextInt(); } } System.out.print(T.solution(n, arr)); } }
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
사이 사이 띄어쓰기가 어디서 나오는걸까요..?
``` ```
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
시간 복잡도
안녕하세요. 강의 잘 보고 있습니다. 많은 도움이 되는 것 같습니다. 한 가지 궁금한 것이 시간 제한이 1000MS인데요. 3중 for문을 쓰면 빅오가 n^3이 나오는데 어떻게 테스트 케이스를 통과하는지 궁금합니다. 1000ms면 데이터 연산이 몇 번까지 허용되는건가요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
보통 런타임 경우는 어떤 경우에 발생하는 건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이클립스에서는 정상적으로 동작하는데 채점사이트에서는 간혹 런타임 에러가 뜨는 경우가 있는데 왜 뜨는지 모르겠습니다(Main과 solution 오타 없이 사용했습니다) 이유를 알고싶어 질문드립니다.
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 5 9 8 7 6 5 5 6 7 8 9 1 2 3 7 8 4 5 3 4 2 6 2 8 4 2 테스트케이스인데 정답이 3 맞나요? 4번학생이 정답아닌가요?