묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
다른 강의 언제나오나용?
안녕하세요! 24년도부터 강의 잘 보고 있습니다!덕분에 알고리즘이 재미있어졌습니다!이직준비를 위해 강의를 연장했는데, 다른 강의는 언제쯤 나오나요?너무 너무 기다리고 있습니다~그리디 부탁드립니당 ㅎㅅㅎ 강의 영상마다 질문이 있으면 언제든 그리고 바로 질문 남겨주세요! 질문할 때 가장 정확하게 이해할 수 있습니다.해당 영상과 관련된 질문들을 해주실 때 제가 가장 정확히 답변 드릴 수 있습니다!취업 전반의 상담이나, "제 코드가 왜 틀렸는지 알려주세요"와 같이 광범위한 질문은, 질문자의 상황에 따라 답변이 달라질 수 있기 때문에, 정확한 답변을 드리기가 어렵습니다 :(이런 분들을 위해서는 멘토링 항목으로 별도 제공하고 있으니, 다음 링크를 참고해주세요!이 링크를 통해서는 본인의 코드가 왜 틀렸는지 모를 때 질문을 주셔도 좋고, 취업 전반(면접 준비, 자소서, CS 면접 등)에 관련한 질문을 주시면 답변 드리겠습니다 :)"이 질문은 해도 되나?"라는 생각이 드신다면 우선 남겨주세요! 제가 답변 드리기 어려운 건 멘토링에 올려 달라고 재요청 드리겠습니다 :)
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
강의 상 구현 하는 내용과 강의 책 구현 요구 내용이 조금 달라요
2-5.링크드 리스트 구현 - 2 02_04_add_node_linked_list.py 해당 내용에서 강의에서는 index 번째에 value 를 추가 하라고 되어있는데, 교재 해당 코드 스니펫의 return문 에는return "index 번째 Node 뒤에 value 를 추가하세요!"라고 기재되어있습니다 🙂풀이 부분은 강의와 동일한데, 해당 부분 먼저 확인해서 문제를 풀면 기준이 조금 달라져서 풀이가 달라지게 되니 문구의 수정이 필요하지 않나 해서 질문 남깁니다!
-
해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (심화편)
RedBlack 구현 중 NilNode에 대해서
코드 상에서 언제 NilNode를 사용하는 지 잘 모르겠습니다. 일단 기본적으로 BinaryTree class 노드를 생성하고 Insert 나 Remove에서도 사용이 없는 것 같습니다. 강의 설명으로는 null인 경우 포인터로 참조하여 해당 맴버에 접근할 수 없기 때문에 NIL로 변환하고 다시 null로 반환하기 위해 작성한 것으로 보입니다. (제대로 이해한 건지 모르겠습니다.) 실제로 NilNode가 없어도 아래 main은 잘 실행되는 것 같습니다. 자세히 설명해주시면 감사하겠습니다.
-
미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (심화편)
터미널노드는 루트노드?
안녕하세요, 워밍업클럽4기 정예은 입니다. 서브트리 설명해주실 때, 터미널 노드는 루트노드 만 있는 트리로 볼 수 있다고 하셨습니다. 그러면, 터미널노드만 두고 볼때 루트노드 인가요?
-
해결됨[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
백준 13565 침투 질문
강의 정말 잘 듣고있습니다. DFS 너무 어려웠는데 저에게 한 줄기 빛 같은 존재십니다..! 원본 문제가 바뀐것같기도 한데,13565번 백준 원본을 보면 M, N 순서대로 입력을 받는 것 같습니다. M이 행에 해당되고, N이 열에 해당이 되어서 전반적으로 반대가 되어야하고,강의에서 말씀 주신 이 부분도defdfs(y, x): global visited, map_, answer, N if y == N: answer = Truereturny == M으로 바뀌어야할 것 같은데 맞을까요?
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
문자열 뒤집기 문제 질문입니다!
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?1-11 def find_count_to_turn_out_to_all_zero_or_all_one(string): # string을 순회하면서 0과 1의 연속된 덩어리 개수를 구함 # 그 개수중 min을 return zero_seq = 0 one_seq = 0 prev_num = string[0] # 첫 bit 초기화 if string[0] == "0": zero_seq += 1 else: one_seq += 1 # 2번째 bit부터 마지막까지 순회 for bit in string[1:]: if bit != prev_num: if bit == "0": zero_seq += 1 else: one_seq += 1 prev_num = bit min_count = min(zero_seq, one_seq) return min_count result = find_count_to_turn_out_to_all_zero_or_all_one(input) print(result)안녕하세요!1주차 숙제 중 문자열 뒤집기 문제를 풀면서 궁금한 점이 있어 질문 남깁니다.저는 풀이가 위 코드와 같이 나왔는데, 정답 코드랑 비교했을때 살짝 다르더라구요.출력은 잘 나오는 것 같은데, 정확한 차이가 궁금합니다.저는 현재 bit를 이전 bit와 비교하고, 강사님은 현재 bit를 다음 bit와 비교하는 방식의 차이일까요?아니면 제 풀이에 문제가 있을까요?
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
다음영상이 문제 풀이 영상이라고 하셨는데 문제풀이 영상이 누락되어있는 것 같습니다
다음 영상에서 문제 풀거라고 하셨는데 문제풀이 영상이 누락되어있는 것 같습니다최소공통조상 빠르게 구하기 마지막부분이나 여러 영상들에서 다음영상에서 문제 풀어볼거라고하셨는데 문제풀이 영상이 빠져있는 것 같아요 ㅠ ! 유튜브에 들어가봐도 자바 문제풀이 영상을 찾을 수 없었습니다ㅜ확인해주실 수 있나요?
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
1-10 시간복잡도 질문입니다.
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 1-10 2. 어려움을 겪는 부분def find_not_repeating_first_character(string): alphabet_occurrence_array = [0] * 26 for char in string: if not char.isalpha(): continue arr_index = ord(char) - ord("a") alphabet_occurrence_array[arr_index] += 1 not_repeating_character_array = [] for index in range(len(alphabet_occurrence_array)): alphabet_occurrence = alphabet_occurrence_array[index] if alphabet_occurrence == 1: not_repeating_character_array.append(chr(index + ord("a"))) for char in string: if char in not_repeating_character_array: return char return "_" 아래 부분에서 시간복잡도가 O(N²) 인 것 같은데 왜 O(N)인지 궁금합니다.for 문은 O(N) 인 건 알겠습니다!if문에서 char가 not_repeating_character_array 리스트에 포함되어있는지 최악의 경우에 리스트 크기 만큼 돌아야하니까 O(N)라고 생각해서 총 시간복잡도는 O(N) * O(N) = O(N²) 로 계산했습니다... for char in string: if char in not_repeating_character_array: return char
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
파이참 가상환경 생성 실패
안녕하세요, 알려주신대로 계속 했는데 파이참 가상환경이 생성이 안돼 질문 드립니다. ㅜㅜ 😊
-
미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
공부 방식 질문 드립니다.
안녕하세요, 선생님.항상 좋은 강의 감사드립니다.저는 비전공자로 개발자를 준비하고 있는데, 최근 CS 과목을 처음 공부하게 되었습니다.개념 강의는 어느 정도 이해가 가지만, 구현 강의에서 실제로 코드를 짜는 부분은 많이 어렵게 느껴집니다. 자바스크립트의 기본적인 문법은 알고 있음에도 구현 강의에서는 따라가기가 쉽지 않더라고요.그래서 현재는 개념 강의를 먼저 모두 수강한 후, 구현 강의를 반복해서 보며 익히는 방식으로 공부하려고 하는데, 이런 방식이 괜찮은 공부 방법인지 궁금합니다. 혹시 더 효과적인 방법이 있다면 조언 부탁드립니다.감사합니다!
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
1-5 파이썬 max 함수를 사용하지 않는 이유
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?1-5어떤 알고리즘을 학습하고 계신가요?알고리즘과 친해지기(2)여기까지 이해하신 내용은 무엇인가요?max값을 구할 때 리스트의 max 함수를 사용할 수도 있는데 굳이 max 값을 따로 구하는 이유가 있으신가요? 그게 더 시간 복잡도상으로 좋아서인지 초심자 입장에서 생각해보려고 하는 건지 궁금합니다..
-
미해결김영한의 실전 자바 - 중급 2편
"java"hashCode 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]"java" 해시코드가 강의에는 3254849 로 나와있는데 제가 출력했을때는 3254818이 나옵니다. 나머지 값들도 다 다른데 같은 Object에서 해시코드메서드를 출력해서 값을 구한건데 다르게 나올수 없지 않나요?
-
미해결카카오 코테 6주 합격! 실전 파이썬 코딩테스트
입/출력으로 모듈화를 해서 문제를 풀어보려고 하는데 방향이 맞는지 궁금합니다.
# 단어 입력 / 목록 리스트 출력 # 목록 리스트 입력 / 중복 검사 리스트에 이미 있는 요소인지 확인 후 각 요소를 다른 문자가 나오기전까지 중복 검사 리스트에 저장 # 중복 검사 리스트가 온전히 만들어진걸 카운팅 +1 입력 / 카운팅 출력 import sys input = sys.stdin.readline t = int(input()) cnt = 0 words = [] for _ in range(t): words.append(input()) for word in words: used_li = [] cur_word = '' flag = 1 for c in word: if cur_word != c and c not in used_li: cur_word = c used_li.append(c) continue if cur_word == c: continue if cur_word != c and c in used_li: flag = 0 break if flag == 1: cnt += 1 print(cnt) 헤이밥 강의를 보고 평소 풀던 방법이 아닌 모듈화로 쪼개서 풀어보려 하는데 괜찮은지..그리고 조건문을 좀 복잡하게 달아서 푼 것같은데 방법론적으로 좋은 접근인지도 조언을 구하고 싶습니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
5주차 진도 나가기전 질문입니다.
안녕하세요 딩코님!현재 4주차 숙제부분까지 강의를 완료하고 5주차는 실전문제풀이과정이라 해당 과정 들어가기전에 질문이 있습니다. 4주차 까지 들으면서 이전까지는 숙제문제는 바로 코드로 작성하진 못해도 어 이렇게 풀면 되지않을까 하는 구상이 가능했는데 3주차 숙제인 멜론 베스트 앨범뽑기부터 해서 4주차 숙제들은 전부다 문제를 봐도 해당 주차에 배웠던 알고리즘들을 이용해서 풀어보려해도 시작점 조차 생각이 나질않아 바로 해설영상을 보고 따라치는 정도로밖에 하질못해 다시 반복해서 공부할 예정입니다.5주차 영상부터는 4주차까지의 숙제로 주신 알고리즘 문제를 전부 이해하고 시청하는게 좋을까요 아니면 일단 문제들을 최대한 풀어서 익숙해질떄까지 계속 풀면서 이해하는게 좋을지 궁금합니다. 또 알고리즘 문제를 풀면서 정답이나 해설영상을 몇분까지 풀다가 보면 좋을까요지금까지는 문제를 풀다가 '아 나 더이상 이 이상은 작성 못하겠어' 할떄 정답과 해설영상을 봐왔는데이렇게 하니 어려운 문제를 풀때는 시간이 너무 소모되는거 같아 이게 맞나? 싶을떄도 있어 제가 잘못 공부하고있는건지도 궁금합니다!
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
소수 나열하기 2차 개선 조건식 위치
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?1-11 어떤 알고리즘을 학습하고 계신가요?소수 나열하기여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요? 소수 나열하기 2차 개선 조건식 위치input = 20 def find_prime_list_under_number(number): prime_list = [] for n in range(2, number + 1): for i in prime_list: if n % i == 0 and i * i <= n: break else: prime_list.append(n) return prime_list result = find_prime_list_under_number(input) print(result)코드의 어떤 로직이 이해가 안 되시나요?if n % i == 0 and i * i <= n: # 강의 노트 if i * i <= n and n % i == 0: # 수업어떤 개념이 헷갈리시나요? 강의 노트와 수업에서의 개선된 로직이 어떤 연산을 줄여서 시간복잡도가 개선되는 건가요?i가 n의 제곱근보다 클 경우 나머지 연산을 수행할 필요가 없어 불필요한 나머지 연산을 수행하지 않기 위해 제곱근에 대한 조건식을 먼저 검사하지 않아도 되는건가요?3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요input = 20 def find_prime_list_under_number(number): prime_list = [] for n in range(2, number + 1): is_prime = True for i in prime_list: if i * i > n: break if n % i == 0: is_prime = False break if is_prime: prime_list.append(n) return prime_list result = find_prime_list_under_number(input) print(result)
-
해결됨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로만 풀리는 문제가 아닌가 해서 질문드립니다.
-
미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
메모이제이션과 타뷸레이션 관련해서 질문드립니다.
안녕하세요. 감자님.동적 프로그래밍 관련하여 질문이 있어 글을 남기게 되었습니다.메모이제이션의 경우 함수의 콜스택뿐 아니라 메모를 위한 추가 메모리 공간이 더 필요하고 타뷸레이션의 경우 값을 저장할 테이블을 위한 메모리 공간만 필요한 걸로 알고 있습니다.콜스택과 메모 공간 모두 필요로 하는 메모이제이션보다 테이블 공간만 필요로 하는 타뷸레이션이 좀 더 이점이 있을 것이라고 생각합니다.하지만 메모이제이션의 경우 그러한 단점들을 가지고 있더라도 재귀적으로 어려운 문제를 쉽게 해결할 수 있다는 큰 장점이 있기 때문에 2개의 기법 간에 우열이 있는 것이 아니라 문제 해결에 가장 적합한 방법을 사용하는것이 효율적인가요?