묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
더하거나 빼거나 문제 질문
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?2-10 챕터어떤 알고리즘을 학습하고 계신가요? 더하거나 빼거나 문제여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?재귀함수코드의 어떤 로직이 이해가 안 되시나요?get_all_ways_by_doing_plus_or_minus(array, current_index + 1, current_sum + array[current_index]) get_all_ways_by_doing_plus_or_minus(array, current_index + 1, current_sum - array[current_index] 제가 이해 안가는것은 처음에 cur_index = 0 , cur_sum = 0 부터 시작하잖아요 get_all_ways_by_doing_plus_or_minus(array,1,2) get_all_ways_by_doing_plus_or_minus(array,1,-2) 그러고 다음 cur_index = 1 , cur_sum = 2 이렇게 흘러가는데, 왜 get_all_ways_by_doing_plus_or_minus(array,1,-2) -2 가 안가고 +2 가 가는지 궁금합니다. get_all_ways_by_doing_plus_or_minus(array, current_index + 1, current_sum + array[current_index]) 계산이 전부 끝난 뒤에 get_all_ways_by_doing_plus_or_minus(array, current_index + 1, current_sum - array[current_index] 가 이어서 오는건가요 ? 어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
사전문제말구 수업 강의하실때 사용하시는 자료는 배포안하시나요??
사전문제말구 수업 강의하실때 사용하시는 자료는 배포안하시나요??
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
이진트리 vs 완전 이진트리
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 4-2 트리1어떤 알고리즘을 학습하고 계신가요? 트리 2. 어려움을 겪는 부분어느 부분에서 막히셨나요? 이진 트리 vs 완전 이진 트리를 비교하는 마지막 영상에서 완전 이진 트리의 그림을 보면 최하단 오른쪽에 노드가 하나 있는데, 완전 이진 트리는 왼쪽부터 채워져야 하는 거 아닌가요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
백준 12865문제 질문드립니다.
그리디 연습문제 및 목표 문제 중에 12865번 평범한 배낭 문제가 있던데 그리디로 풀 수가 있나요? 최적의 해가 전체 최적해를 보장하지 않는데.. dp로만 풀리는 문제가 아닌가 해서 질문드립니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
4-5 그래프 강의 내용에 대해 질문드립니다.
안녕하세요!'4-5 그래프' 강의 내용 중에 '인접 리스트'를 사용해 그래프를 표현하는 경우 공간복잡도가 최악의 경우에도 O(N)이라고 설명을 해주셨는데요!그래프의 모든 노드가 다른 모든 노드에 연결되어있는 경우라면 딕셔너리 안에 N개의 키와 각각의 키에 크기 N-1의 1차원 배열이 들어가게 되니, 결국 N*(N-1) 만큼이 공간을 차지하여 최악의 경우 2차원 배열과 동일하게 O(N^2)의 공간복잡도를 가지게 되는 것은 아닌가 하는 생각이 들었는데요,인접 리스트를 사용할 때 최악의 경우 어떻게 O(N)의 공간복잡도가 나오게 되는지 궁금합니다!그리고, 일반적인 경우에는 모든 노드가 연결되어 있지는 않겠지만, 항상 이러한 최악의 경우도 고려하면서 문제를 풀어야 할지도 궁금합니다!
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
4주차 숙제 질문
4-9 숙제 질문 안녕하세요! 청소 관련 문제에서 아래처럼 했는데 무한루프에 빠집니다.. 어디가 잘못된건지 모르겠어서 질문드려요!감사합니다!def get_count_of_departments_cleaned_by_robot_vacuum(r, c, d, room_map): r_real = r c_real = c dr = [-1,0,1,0] dc = [0,1,0,-1] d_real = d count = 1 room_map[r][c] = 2 while True : stop = 0 while stop < 4: for i in range(4): d_real = (d_real+3)%4 r_fake = r_real + dr[d_real] c_fake = c_real + dc[d_real] if room_map[r_fake][c_fake] == 0 : count +=1 r_real = r_fake c_real = c_fake room_map[r_fake][c_fake] = 2 stop = 0 break else: stop += 1 d_real = (d_real+6)%4 r_real = r_real + dr[d_real] c_real = c_real + dc[d_real] if room_map[r_real][c_real] == 1: break return count
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
6강 연습문제 13137 질문있습니다.
Exchange Problem문제 질문있습니다. 이 문제를 분석하다가 어려워서 질문드립니다. 제가 분석한 결과는 dp를 통해 모든 경우의 수를 구한 것과 그리디를 통해 구한 경우의수를 비교하는 문제 같았습니다. 근데 예시를 보고 어떻게 문제를 접근해야하는지 모르겠습니다.8 1 5 10 50 100 500 1000 10000위의 예시처럼 밑의 8개의 단위로 된 동전을 통해서 모든 단위(1원~9999원)의 동전에 대해 그리디가 맞다면 yes이고 아니면 no를 택하는것인가요? 너무 어렵습니다... 혹시 파이썬 답안을 알려주실 수 있으신가요? 아니면 추가적인 강의에 대한 생각이 있으신지도 궁금합니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
3-8 해쉬-2 코드 질문
3-8 해쉬 -2안녕하세요!설명해주신 코드에서 해쉬를 이용하면 결국 시간 복잡도는 결국 O(N)인데,아래와 같이 해도 되나요? 아래도 시간복잡도가 O(N)이라고 생각하는게 맞는지 궁금합니다!all_students = ["나연", "정연", "모모", "사나", "지효", "미나", "다현", "채영", "쯔위"] present_students = ["정연", "모모", "채영", "쯔위", "사나", "나연", "미나", "다현"] set(all_students)-set(present_students)
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
정렬 질문
안녕하세요! 정렬 -2 (3-3)과 관련해서 아래처럼 sort를 이용하면 안되는건가요? for문 두번을 이용해서 설명해주신 방법대로 해야하는 것이 맞는지 궁금하고, 아래 방법대로 하면 O(N) 연산량이 되는 것인지도 궁금합니다! 감사합니다.input = [4,6,2,9,1] ###내가 한것### def insertion_sort(array): n = len(array) for i in range(1,n): if array[i]<array[i-1]: a = array[:i+1] a.sort() array[:i+1]=a return array insertion_sort(input)
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
1주차 숙제 추가문제 질문 드립니다!
안녕하세요 딩코님!1주차 숙제에서 추가로 주신 문자열 요약해보기를 풀었는데 JAVA로 진행중입니다! // 아스키코드 방식 public static StringBuffer summarizeString(String str) { int[] strArr = new int[26]; for(int i =0;i<str.length();i++){ int index = (int)str.charAt(i) - (int)'a'; strArr[index] += 1; } StringBuffer strbuf = new StringBuffer(); for(int i =0;i<strArr.length;i++){ if(strArr[i] > 0){ strbuf.append((char)(i+(int)'a')).append(strArr[i]+ " "); } } return strbuf; } public static void main(String[] args) { String inputStr = "acccdeee"; System.out.println(summarizeString(inputStr)); } // 문자열 뒤집기 방식 public static StringBuffer summarizeString(String str) { int count = 0; StringBuffer strBuf = new StringBuffer(); for(int i = 0;i < str.length() - 1; i++){ if(str.charAt(i) == str.charAt(i+1)){ count++; }else{ strBuf.append(str.charAt(i)).append(count + 1).append("/"); count = 0; } } strBuf.append(str.charAt(str.length() - 1)).append(count + 1); return strBuf; } public static void main(String[] args) { String inputStr = "acccdeee"; System.out.println(summarizeString(inputStr)); } 저는 아스키 코드를 사용해서 풀었는데 딩코님이 적어주신 답안지를 보니 바로 전에 풀어본문자열 뒤집기와 유사하게 풀이를 해주셨더라구요그래서 그걸 참고해서 작성해보니 둘다 똑같이 시간복잡도는 O(n)의 성능을 가지고있는거같고다른점은 아스키 코드형식은 무조건 결과값이 abc순으로 출력이되고문자열뒤집기 방식은 입력받은 순서대로 나오는거말고는 다른점은 찾을수가없었습니다. 해당 문제는 해설영상이 없어서 혹시 제가 문제를 이해못해서 잘못 작성한건가 해서 질문남깁니다! 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
k번째 값 출력하기 문제에서 이렇게 풀어도 되나요?
2주차 끝 숙제 중 링크드리스트의 끝에서 k번째 값 출력하기 문제를 처음에 먼저 혼자 풀어볼 땐 링크드리스트를 순회하면서 각 노드를 따로 생성한 배열에 담고 return 할 땐 -k 인덱스로 끝에서 k번째 값을 가져오도록 해봤습니다. 답은 나오긴 하는데 혹시 이런 식으로 풀어도 되나요?? cur = self.head arr = [] while cur is not None: arr.append(cur) cur = cur.next return arr[-k]
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
method area는 이름이 class area가 아니고 왜 method aread인지 궁금합니다.
제 궁금증은 method area는 이름이 class area가 아니고 왜 method aread인가? 입니다.JVM specification저자 중 한명에게 이메일 보내봤는데I'm afraid I don't know the answer to your question. My involvement with Java ended in October 2006, and I have never looked back. I think these terms (Method Area, Class Area) were introduced after my time working on Java. 라는 답변을 받긴 했습니다.그래서 열심히 ai와 물어봤는데 자바에서 프로그램 실행은 메서드 호출을 통해서 이루어지기 때문이라고 추측하더라구요.저는 막연히 자바는 객체지향 언어니까 class가 중심이지라고 생각했는데..또 "실행" 관점에서 보면 진짜 method가 중심이겠더라구요.객체인스턴스 초기화도 결국 init()메서드인거구요.음.. 어떻게 생각하시는지? 궁금합니다!
-
미해결개발 역량 + 자격증까지, Java로 PCCP 자격증 준비하기
실습 권한 부탁드립니다..
들어가지를 못하구 있어요 ..ㅠ
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
교안 p.305 'throw 필수' 질문
교안 305쪽에 두 가지 예외 종류Checked예외처리 강제화catch 혹은 throw 필수라고 되어있는데 'throw'가 아니라 'throws'필수인 것 같아 글 남깁니다:)
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
수업 질문
안녕하세요! 기업 코딩테스트의 환경이 pycharm이랑 같은지 궁금합니다. 구글 코랩환경은 하나씩 행마다 빠르게 코드를 확인해보면서 볼 수 있는데 pycharm은 한꺼번에 돌려야 하고 함수 안에 print를 넣어서 간접적으로 확인해야하니 불편해 여쭤봅니다..!ctrl + R을 누르면 pycharm에서 실행이 된다고 하는데 저는 pycharm에서 실행 버튼의 단축키가 ctrl +f5로 뜹니다,,! 단축키로 쓰기에는 너무불편한데, ctrl+R로 단축키를 바꾸신건지 저는 해당 단축키로는 실행이 되지 않아 여쭤봅니다! 코랩이 아닌 pycharm으로 수업을 진행하신 특별한 이유가 있으신지도 궁금합니다!! 감사합니다.
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
오류
밑이 10인 log10(2)는 약 23정도 되는데 뭔가 잘못된것같습니다.
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
재귀
안녕하세요 수강자입니다.현재 2진수로 변환할때의 재귀함수 호출부분을 듣고있습니다. 1.종료조건, 2.재귀조건 3.데이터통합 으로 심플하게 나눠서 생각하는 방법 알려주셔서 감사합니다. 하지만 재귀함수를 할때, 스택의 개념을 설명해주지 않으셔서 뭔가 2% 개념이 부족한 느낌을 받았습니다. 완전 초보자 입장에서, 코드를 한줄한줄씩 공책에 써가며 결과값이 어떻게 나오는지 확인하는 과정중에, 설명해주신 개념과 풀이법이 직관적이며 머리에 쏙쏙박히기는하는데 왜 그렇지 하는 생각이 들어서요.
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
Metaspace에 대한 질문
안녕하세요 널널한개발자님 수업들으면서 많은 것을 배우고 있습니다! 다름이 아니고 Method Area 수업에서는 Method Area가 Java 8부터는 PermGen에서 Metaspace에 속하게 되고, JVM Heap 영역이 아니라 Native Memory에서 관리한다고 배웠는데 JVM Heap 영역 수업에서 영구 세대(Metaspace)가 같은 것을 지칭하는 것일까요? 제가 보기에는 같은 것을 지칭하는 것 같다고 생각합니다. 그러면 Meataspace는 더 이상 Heap 영역에서 관리하지 않기 때문에 GC로 제거가 되지 않는 것이 맞을까요? 또한 저는 처음에 PermanentGen = Method Area라고 생각했는데 그게 아니라 Permanent 영역이 Method Area 영역을 포괄하는 큰 영역이기 때문에Java 8 이전: PermentGen에 포함된 MethodArea까지 GC가 관리(full시)Java 8 이후: MethodArea가 PermGen인 Heap 영역에서 분리되었으니 더이상 GC 관리 X 다만 다른 PermGen 영역만 full gc때 관리라고 생각하면 될까요?
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
키보드 질문
안녕하세요! 수업 내용 관련해서 질문은 아니고 혹시 영상에서 쓰시는 키보드 어떤 건지 알려주실 수 있나요??(소리가 너무 찰져서 궁금합니다 ㅎㅎ) 감사합니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
2-6 LinkedList 합계 자바 풀이
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 2-6어떤 알고리즘을 학습하고 계신가요? LinkedList여기까지 이해하신 내용은 무엇인가요? 어떻게 로직이 흘러가는지 이해가 된 상태 입니다. 2. 어려움을 겪는 부분어느 부분에서 막히셨나요? 어려운 부분은 아니고 뭔가 제 풀이에 대해서 공유 해드리고 싶습니다!코드의 어떤 로직이 이해가 안 되시나요? 이해가 안되진 않는 것 같습니다!어떤 개념이 헷갈리시나요? 없습니다! 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요? 우선 값들을 StringBuilder 로 만들어서 각각 Int로 파싱한다음 더해주는 과정을 해보았습니다.에러가 발생했다면 어떤 에러인가요? 없습니다!현재 작성하신 코드를 공유해주세요 package algorithm_practice.second_week; public class GetLinkedLiistSum_01 { // Node 클래스 정의 static class Node { int data; Node next; Node(int data) { this.data = data; this.next = null; } } // LinkedList 클래스 정의 static class LinkedList { Node head; public LinkedList(int value) { this.head = new Node(value); } public void append(int value) { Node cur = head; while (cur.next != null) { cur = cur.next; } cur.next = new Node(value); } } // 두 연결 리스트의 합을 계산하는 메서드 public static int getLinkedListSum(LinkedList list1, LinkedList list2) { StringBuilder firstNumber = new StringBuilder(); StringBuilder secondNumber = new StringBuilder(); Node cur1 = list1.head; Node cur2 = list2.head; while (cur1 != null && cur2 != null) { firstNumber.append(cur1.data); secondNumber.append(cur2.data); cur1 = cur1.next; cur2 = cur2.next; } int result = Integer.parseInt(firstNumber.toString()) + Integer.parseInt(secondNumber.toString()); return result; } // 메인 실행 테스트 public static void main(String[] args) { LinkedList linkedList1 = new LinkedList(6); linkedList1.append(7); linkedList1.append(8); LinkedList linkedList2 = new LinkedList(3); linkedList2.append(5); linkedList2.append(4); int result = getLinkedListSum(linkedList1, linkedList2); System.out.println("두 연결 리스트의 합: " + result); // 예시: 1032 } } 파이썬 코드를 자바로 변환해서 풀어봤는데 이렇게 접근해도 좋은 풀이 일까요~? 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊