월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
결과 출력시 x+ " " 에 대해 질문있습니다
결과 출력할 때 System.out.print(x + " "); 이렇게 출력하는 경우 마지막에도 공백이 추가되는데 만약에 코테 문제중에, 정답 출력 시 마지막 공백이 포함되면 안된다면 그럴 경우 어떻게 해야하나요? 그럴 경우가 있는지 궁금하구 그냥 똑같이 출력하면 되는지 궁금합니당 ..
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
왜 runtime이 뜰까요 ;;
IDE에서 컴파일시에는 잘 되는데 , 왜 채점시에는 RUNTIMEERROR가 뜨는지 모르겠어요. 한번 봐주실 수 있을까요?? public class Main { public int solution(int n , int [][] arr){ int answer = Integer.MIN_VALUE; int sum1 = 0; int sum2 = 0; int sum3 = 0; int sum4 = 0; for(int i=0, k = 4; i < n ; i++ , k--){ sum3+=arr[i][i]; //대각선들의 합 sum4+=arr[k][k]; for(int j=0; j < n ; j++){ sum1 += arr[i][j]; //행의 합 sum2 += arr[j][i]; //열의 합 } answer=Math.max(answer, sum1); answer=Math.max(answer, sum2); sum1 = 0; sum2 = 0; } answer=Math.max(answer, sum3); answer=Math.max(answer, sum4); return answer; } public static void main(String[] args) { Main t = new Main(); Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int [][] arr = new int[n][n]; for(int i=0; i < arr.length ; i++){ for(int j=0; j <arr[i].length; j++){ arr[i][j] = scan.nextInt(); } } System.out.println(t.solution(n,arr)); }}
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
런타임 에러 이유를 도저히 모르겠습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 계속 안돼서 하다하다 강의에서 푼거랑 똑같이 했는데도 런타임에러가 뜨네요 이유를 모르겠습니다.... 도와주십쇼
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
답이 맞는데 계속 오답으로 나와요...
어디가 잘못된 건지 한 번 봐주실 수 있으신가요? public static void main(String[] args) { Scanner sc = new Scanner(System.in); String next = sc.next(); char c = sc.next().charAt(0); for(int x : solution(next, c)){ System.out.print(x + " "); }}public static int[] solution(String s, char c){ int[] answer = new int[s.length()]; //오른쪽으로 돌 거 int [] right = new int[s.length()]; //왼쪽으로 돌 거 int[] left = new int[s.length()]; int count = 0; for(int i =0; i<s.length(); i++){ if(s.charAt(i) != c){ count++; }else{ count = 0; } answer[i] = count; } count = 0; for(int i = s.length()-1; i >=0; i--){ if(s.charAt(i) != c){ count++; }else{ count = 0; } if(count < answer[i]){ answer[i] = count; } } return answer;}
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
K번쨰 큰 수 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의에서 cnt 이용해서 세번째 요소에 접근한 것을 저는 iterator를 이용해서 했는데 런타임 에러가 뜹니다. iterator 사용하면 속도가 더 느린가요?? 아니라면 런타임 에러가 뜨는 이유가 궁금합니다
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
왜 오류가 생길까요?
import java.util.*; class Main { public String solution(String str) { String answer = "YES"; str.toLowerCase(); for (int i = 0; i < str.length() / 2; i++) { if (str.charAt(i) == str.charAt(str.length() - i - 1)) { answer = "YES"; } else { answer = "NO"; } } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner sc = new Scanner(System.in); String str = sc.next(); System.out.println(T.solution(str)); } } 이게 왜 오류나는지 궁금합니다...
- 해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
다른 풀이로 풀어보았는데 확인해주시면 감사하겠습니다.
저는 괄호에 초점을 맞춰서 다르게 풀어보았습니다. 문자가 들어왔을 때, 괄호에 대한 스택이 비어있으면 괄호 밖에 있다고 판단하고 문자를 출력하는 방식으로 구현했습니다. 풀이에 논리적 오류가 있는지 확인해주시면 감사하겠습니다. import java.util.Scanner; import java.util.Stack; public class Main { public static String solution(String[] text) { Stack<String> bracketStack = new Stack<>(); StringBuilder answer = new StringBuilder(); for (String word : text) { if (word.equals("(")) bracketStack.push(word); else if (word.equals(")")) bracketStack.pop(); else if (bracketStack.isEmpty()) answer.append(word); } return answer.toString(); } public static void main(String[] args) { Scanner input = new Scanner(System.in); String[] text = input.next().split(""); System.out.println(solution(text)); } }
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
lt, rt의 자료형 Node 질문 드립니다.
강의 듣고 이해가 가지 않는 부분이 있어 질문 드립니다! Node 클래스의 lt와 rt 변수의 자료형이 Node라고 코드를 구현하셨는데 이 부분이 잘 이해가 가지 않습니다. 클래스 내부의 변수의 자료형이 본인 클래스일 수 있는 건가요? 자료형이 참조형인 경우 가능한건가요?? 구글 검색을 통해 찾아보려고 했는데 원하는 답을 찾기 어려워서 질문 남깁니다! 감사합니다~
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
값이 맞게 잘나오는데 왜 오답인건가요..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
return "NO"를 바로 했을 때, 시간이 10ms 더 걸리는 이유?
안녕하세요 선생님, 수업 잘 듣고 있습니다 :) 풀이와는 조금 다르게 풀어봤는데요. return "NO"를 하면 바로 RETURN 이 되어서 시간이 더 줄어들 줄 알았는데, 채점을 해보니 ANSWER="NO"를 한 것보다 10ms 느리더라고요. return 으로 바로 반환하는 게 항상 짧을 줄 알았는데, 왜인지 여쭈어도 될까요? import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { public String solution(String given, String my){ String answer = "YES"; Queue q1 = new LinkedList(); for (char x:given.toCharArray()){ q1.offer(x); } Queue q2 = new LinkedList(); for(char x:my.toCharArray()){ q2.offer(x); } while(!q1.isEmpty() && !q2.isEmpty()){ if (q2.peek()==q1.peek()){ q2.poll(); q1.poll(); } else { q2.poll(); } } if(!q1.isEmpty()) { answer = "NO"; } return answer; } public static void main(String[] args) { // TODO Auto-generated method stub Main T = new Main(); Scanner sc = new Scanner(System.in); String given = sc.next(); String my = sc.next(); System.out.println(T.solution(given,my)); } }
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
Arrays.sort() 와 Collections.sort()에 대한 질문입니다
강의에선 Arrays.sort(a); 와 같이 nlogn으로 정렬을 하셨는데요. 검색해보니 평균 O(nlogn)부터 최악은 O(n^2)더라고요 반면에 Collections.sort()로 정렬을 하게되면, 평균/최악 모두 O(nlogn)이더라고요. 결론은 Collections.sort()가 더빨라보이는데요. 대신 아래와 같이 sort를 쓰기위해서는 int 배열을 list로 변환하는 작업이 들어가야 합니다 (stream 같은건 느리다고 알고있습니다..) Collections.sort(Arrays.stream(a).boxed().collect(Collectors.toList())); 이 경우는 Arrays.sort()로 정렬하는게 나은 방법인가요? 아니면 그래도 Collections.sort()가 나은 방법인가요? 사실 코딩테스트에서는 Arrays.sort()로 간단하게 치고 넘어가는 게 낫다고 개인적으로 생각합니다..
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
질문있습니다.
a[i][k] == a[j][k] 여기에서요, i 번 학생과 j 번 학생을 비교하는건 이해를 하였는데요 i = 1 이고, j =1 이라면 같은 학생(1번학생) 의 학년을 비교하고 있는것이 아닌가요? if ( i != j && a[i][k] == a[j][k] ) 이렇게 번호가 겹치지 않게 해주어야 할것같은데 제가 무엇을 놓치고 있는지를 모르겠습니다.
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
코드리뷰 요청드립니다
선생님 안녕하세요. 하단에 제가 짠 소스는 뭔가 선생님 소스와 컨셉이 비슷한듯 다른거 같습니다. 아래와 같이 짜도 무방할까요? (선생님은 substring으로 자르셨고, 저는 % 연산자로 7개씩 쌓이면 변환해서 answer에 += 했습니다) + 추가로 아래와 같이 replaceAll을 사용해도 괜찮은가요? 이경우 [*]로 묶어줘야 하더라구요 password += String.valueOf(chArray[i]) .replaceAll("[#]", "1") .replaceAll("[*]", "0"); // #를 1로, *를 0으로 변환 ------ package Password;// 문자열_암호import java.util.*;public class Main { public String solution(int cnt, String str){ String answer = ""; String password = ""; char[] chArray = str.toCharArray(); for(int i=0; i<chArray.length; i++){ password += String.valueOf(chArray[i]) .replace('#', '1') .replace('*', '0'); // #를 1로, *를 0으로 변환 // str의 길이는 28개 문자고, cnt는 4이므로 7개씩 묶는다는 의미가 된다 (나누는 수 : 7) if((i % (str.length()/cnt)) == 6){ // password에 쌓은 것이 7개가 되면, answer += (char)(Integer.parseInt(password,2)); // 2진수를 10진수로 전환해서 문자로 answer에 누적 password = ""; // answer에 누적했으므로 비워주자 } } return answer; } public static void main(String args[]){ Main T = new Main(); Scanner kb = new Scanner(System.in); int cnt = kb.nextInt(); String str = kb.next(); System.out.println(T.solution(cnt, str)); }}
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
채점 시 System.out.print 필수인가요 ?
안녕하세요 선생님. 좋은 강의 너무 감사드립니다 ^^! 질문 드릴 게 있는데, 채점 사이트에서 답안을 제출할 때, solution 메소드를 System.out.print로 꼭 감싸서 "출력"을 해줘야 하는건가요? 기업 코딩테스트에서 answer로 return 되는 값이 정답의 기준이 되는 것 같았는데 헷갈려서요..! 아니면 문제에 출력 "선생님이 볼 수 있는 최대학생수를 출력한다."라고 명시되어 있는 경우 기업 코딩테스트에서도 System.out으로 출력해줘야 하는 건가용?? 좀 바보 같은 질문인데 도움 부탁드립니다! 감사합니다.
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
컴파일 에러가 발생합니다.
인텔리제이에서 돌릴때는 문제없이 돌아가는데 채점 사이트에서 컴파일 에러가 발생합니다. 왜이런가요? public class b_01 { public ArrayList<Integer> solution(int i, int arr[]){ ArrayList<Integer> answer = new ArrayList<>(); answer.add(arr[0]); for(int a =1; a<i; a++){ if(arr[a]>arr[a-1]) answer.add(arr[a]); } return answer; } public static void main(String args[]){ b_01 b = new b_01(); Scanner sc = new Scanner(System.in); int i = sc.nextInt(); int arr[] = new int[i]; for(int a = 0; a < i; a++){ arr[a] = sc.nextInt(); } for(int x : b.solution(i,arr)){ System.out.print(x+" "); } }}
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
아래와 같이 string으로서 해결을 했습니다, 이러한 방식도 괜찮을까요?
public String solution(String str){ String answer = ""; for(char c : str.toCharArray()){ if (!answer.contains(String.valueOf(c))){ answer += c; } } return answer;}
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
선생님 저 코드에서 최단거리인지 판별하는 것은
선생님 저 코드에서 최단거리인지 판별하는 것은 dis[7][7]에 어떤 수가 들어가면 바로 코드가 종료되는 조건도 없는데 어떻게 판별하는 것인가요...? 이 문제는 도착지점까지 도착하는 경로가 2개 뿐이라서 while(!Q.isEmpty()) 이 조건때문에 둘 중에 먼저 도착하면 자동으로 다른 경로를 계산할 때, Queue가 비어있게 되어서 반복문이 종료되어서 그게 가능하지만 도착하는 경로가 3개 이상일 경우에는 불가능 할 것 같은데 그때는 따로 조건을 추가해줘야 되나요...?
- 해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
특정 입력값에 대한 질문입니다!
안녕하세요 해당 문제를 푼 이후 의문이 생겨 질문으로 남깁니다! 입력값이 5 1 99 1 1 1 99 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 일때 99+99인 198이 결과로 나와야 할 것 같은데 풀이 방법으로는 나오지 않는 상태인데, 제가 문제를 잘못 이해하고 있을까요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
예외처리
1. 문자열은 영어 알파벳으로만 구성되어 있습니다. 2. 문자열은 100자를 넘지않습니다. 3. 대소문자를 구분하지 않습니다. 상기 3가지 사항 중에서 마지막 3번만 코드에서 거를 수 있게 해주셨는데, 나머지 두가지는 왜 따로 처리하지 않으셨나요?
- 미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
메소드 형태(?)에 대한 질문 입니다.
안녕하세요 선생님 ~ 알린이 학생인데요. 근본적인 질문이긴한데..채점 사이트를 보면 소스코드가 기본 형태로만 제시 되어서 solution(), main() 내부는 제가 적어야 하는 것 같은데요.프로그래머스 같은데선 solution 메소드의 반환값이나 파라미터를 지정해주는데, 여기서 문제 해결할 때 solution()의 형식이나 main() 내부 형식은 선생님 코드가 아니더라도 제가 아무렇게나 짜도 상관없고, 결과 출력값만 정확하면 되나요? 예를 들면 이문제에서 쌤이 적으신 건 public ArrayList<String> solution(int n, String[] str) 이건데public String solution(String[] str) 이런식으로 임의로 작동만 되게끔 하면 될지 궁금해서요 ~!!감사합니다