묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
5-4. 카카오 신입 개발자 블라인드 채용 1차 코딩테스트 - 2 질문입니다.
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 5-4. 카카오 신입 개발자 블라인드 채용 1차 코딩테스트 - 2어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요? W = "))()(" 케이스에 대해서, u와 v로 나누어야 하는데 u는 더이상 나눌 수 없는 균형잡힌 괄호 문자열이어야 된다고 했습니다, 하지만 해설로 제공해주신 풀이로 풀 때에는 W = "))()(" 가 애초에 균형잡힌 괄호 문자열이 아니기 때문에 u도 균형잡힌 괄호 문자열이 되지 않는다고 이해했습니다. (W의 문자열 길이가 홀수인 경우에는 )와 (가 모두 짝수 개수만큼 있을 수 없다고 생각했습니다.) 해당 문제의 원 링크에서 제공해주신 코드를 제출했을 땐 정답이 나오는데, 문제 설명 중에서 어떤 조건을 보고 W가 균형잡힌 문자열이 아닐 수도 있다는 것을 알수 있으며, u가 무조건 균형잡힌 문자열이 아니어도 된다는 것을 알 수 있는건가요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요? 제가 짠 코드와 제공해주신 해설 코드 중 차이점이 W를 u와 v로 나누는 부분에 있음을 알게되었고, 제 코드는 W가 무조건 균형잡힌 괄호 문자열인 경우에 대해서만 풀리게 되어있습니다. 에러가 발생했다면 어떤 에러인가요?from collections import deque def is_this_correct_parentheses(string): N = len(string) left_parentheses_num = 0 for s in string: if s == "(": left_parentheses_num += 1 if left_parentheses_num == N-left_parentheses_num: return 1 else: return 0 def is_this_balanced_parentheses(string): stack = [] stack.append(string[0]) string = string[1:] for s in string: tmp = s if len(stack) != 0 and stack[-1] == "(" and tmp == ")": stack.pop() else: stack.append(tmp) if len(stack) == 0: return 1 else: return 0 def u_string_processing(u): u = u[1:-1] tmp_u = "" for i in range(len(u)): if u[i] == "(": tmp_u += ")" else: tmp_u += "(" return tmp_u def get_correct_parentheses(balanced_parentheses_string): W = balanced_parentheses_string if W == "": return "" idx = 0 for i in range(1, len(W)): tmp_u = W[:i] if is_this_correct_parentheses(tmp_u) == 1: idx = i break if len(W) == 2: idx = 2 u = W[:idx] v = W[idx:] if is_this_balanced_parentheses(u) == 1: processed_v = get_correct_parentheses(v) return u+processed_v elif is_this_balanced_parentheses(u) == 0: tmp_string = "(" processed_v = get_correct_parentheses(v) tmp_string += (processed_v + ")") tmp_string += u_string_processing(u) return tmp_string return W 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
강의 진행하면서 이해도 및 진행방향에 대한 질문입니다.
1. 현재 학습 진도1-6 시간복잡도 2. 어려움을 겪는 부분강의 유익하게 보고 있습니다! 이제 초반이긴한데 앞으로 진행방향을 어떻게 해야할지 의문이 생겨서요. 강의랑 중간중간 이해가 안 가는 부분들은 AI를 통해 한 줄 한 줄 이해를 하면서 진행을 하고 있는데 여기서 갑자기 드는 의문점 중에 하나가 코드에 대해 이해는 갔습니다. 하지만 저보고 적어보라고 하면 글쎄...? 하는 수준입니다. 그렇다고 하더라도 강의를 계속 이어나가봐도 되는 것일까요? 아니면 그 강의에 대한 내용을 제가 암기로라도 적을 수 있게 되어야 넘어가야 하는 게 맞을까요? 제가 어떤 자세로 선생님의 강의를 임해햐 할지 질문드립니다. 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
수강평 인증 이벤트 끝났나요?
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
알파벳 빈도수 세기 정답
def find_alphabet_occurrence_array(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 return alphabet_occurrence_arrayprint("정답 = [3, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 2, 2, 1, 1, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 0] \n현재 풀이 값 =", find_alphabet_occurrence_array("Hello my name is sparta"))print("정답 = [2, 1, 2, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0] \n현재 풀이 값 =", find_alphabet_occurrence_array("Sparta coding club"))print("정답 = [2, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 3, 3, 0, 0, 0, 0, 0, 0] \n현재 풀이 값 =", find_alphabet_occurrence_array("best of best sparta")) 안녕하세요! 1주차 알고리즘과 친해지기 (2) 애서 첫번째 Hello my name is sparta 의 정답이 왜 "정답 = [3, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 2, 2, 1, 1, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 0] 인가요? [3, 0, 0, 0, 2, 0, 0, 1, 1, 0, 0, 2, 2, 1, 1, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 0] 아닌가요?
-
미해결개발 역량 + 자격증까지, Java로 PCCP 자격증 준비하기
실습 승인 부탁드립니다
5일 기다리는 건 너무 시간이 길어요 ㅜㅜ
-
해결됨AI 시대 대체되지 않는 미국 빅테크 코딩테스트 알고리즘 문제 해결 전략 (feat. 빌게이츠)
섹션1 Array 강의 default value 질문
섹션1 array강의 21분30초 쯤 Accumulator을 설명하시면서max_val은 array의 default value이고 variable이 default value라고 설명하셨는데 어떤 의미로 하신 말씀이신지 잘 모르겠습니다. 파이썬 문법과 관련된 말인가요?
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
4-9. 4주차 끝 & 숙제 설명 중 첫번째 농심 라면 공장 문제 질문입니다.
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 4-9 4주차 끝 & 숙제 설명어떤 알고리즘을 학습하고 계신가요? 첫번째 문제 (라면공장)여기까지 이해하신 내용은 무엇인가요? stock이라는 변수에, 날짜가 stock값보다 작은 date일 때의 supplies들 중 최대 값을 얻어서 다시 stock에 += 해주면서 최종적으로 stock이 k보다 커졌을 때 반복을 종료하고 결과값을 return하는 전반적인 알고리즘은 이해하였습니다. 2. 어려움을 겪는 부분어느 부분에서 막히셨나요? 정답이 4가 나오는 예시 문제코드의 어떤 로직이 이해가 안 되시나요? while stock <= k : 라는 반복문이 실행될 때 마다 max_heap을 왜 초기화시켜주지 않는 건가요? stock을 업데이트 하기 전에 남아있는 max_heap의 원소들과, stock을 업데이트 한 후에 새로이 추가된 max_heap의 원소들 중에 전자의 경우에서 max값이 나올 수 있기 때문인가요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요? 가장 바깥의 while문에서 벗어나지 못하는 문제현재 작성하신 코드를 공유해주세요def get_minimum_count_of_overseas_supply(stock, dates, supplies, k): # 풀어보세요! max_coverd_date = 0 result = 0 remained_stock = stock max_coverd_date += remained_stock while max_coverd_date < k: #k일을 버틸 수 있을 때까진 반복해야 함 can_supplied_qty_list = [] while dates: supply_date = dates[0] if supply_date <= max_coverd_date: dates.pop(0) can_supplied_qty_list.append(supplies.pop(0)*-1) else: break if can_supplied_qty_list: heapq.heapify(can_supplied_qty_list) max_supplied_qty = heapq.heappop(can_supplied_qty_list)*-1 max_coverd_date += max_supplied_qty result += 1 return result 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
1-5. 알고리즘과 친해지기 (2) 맨 마지막 시뮬레이션 관련 문의
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? => 1-5. 알고리즘과 친해지기 (2)어떤 알고리즘을 학습하고 계신가요? => 최빈값 구하기 2. 어려움을 겪는 부분어떤 개념이 헷갈리시나요?=> 안녕하세요~ 화면 캡쳐가 안돼서 말로 설명하자면, 강의 마지막 시뮬레이션 영상(25:58)에서 max_alphabet_index가 8이었다가, 13이었다가, 마지막에 14인 채로 끝나는 이유가 뭔가요?코드 상으로, if문 조건절에 등호를 붙이지 않았기 때문에(`if alphabet_occurrence > max_occurance:`), 동일한 최빈값 중에서는 알파벳 순서가 가장 앞에 위치한 알파벳이 max로 저장된다는 것은 이해했습니다! 그냥 시뮬레이션 영상 자체에 대한 질문이었어요! 근데 쓰다 보니 쓸 데 없는 질문인 것 같긴 하네요😅 그냥 코드 상으로 이해했다면 넘어가도 괜찮겠죠!??감사합니다!!
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
(3-8 해쉬-2) hash table 시간복잡도
3-8 해쉬-2 강의 수강 중 출석체크 문제에서2중 for문, 정렬, hash table 3가지 방식에 대한 시간복잡도를 설명해주셨는데hash table 시간복잡도에서 값 등록 시 최선이 1 최악이 N인데 최선을 고려한다. 라고 하셨는데 보통 어떤 입력이 들어올지 모르니 최악을 고려해야하는거 아닌가요?
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
03_12_get_max_discount_price를 pop()으로 구현했어요
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요def get_max_discounted_price(prices, coupons): if prices: prices.sort() if coupons: coupons.sort() discounted_prices = [] while prices and coupons: max_price = prices.pop() max_coupon = coupons.pop() discounted_prices.append(max_price * (100 - max_coupon) / 100) total_sum_prices = sum(discounted_prices) + sum(prices) return total_sum_prices 사실상 같은코드긴 한데, 혹시나해서 검증받고싶어서..
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
1-7. 4:30 에서 N*N이 아닌이유가 뭔가요?
1-7. 4:30 에서 N*N이 아닌이유가 뭔가요? 갑자기 26을 상수취급하는 이유를 모르겠어요.. 1-6에서는 N*N이었던 것 같은데요... 1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
공간복잡도 질문입니다!
공간복잡도가 N인 경우는 큰 차이가 없다고 이해했습니다.예제 코드에서도 29, 30 처럼 N인 경우를 확인하였습니다.그렇다면 공간복잡도가 N^2인 경우는 어떤 예제 코드가 될 수 있을까요??시간복잡도는 이해가 갔는데(ex. 이중for문) 공간복잡도가 N^2인 경우는 어떻게 되는지 궁금합니다!
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
트리 - 목표문제 11725 메모리 초과
안녕하세요트리 목표 문제 11725 예제를 백준에서 돌렸을때 메모리 초과가 발생합니다. 혹시 메모리 초과가 나지 않게 푸는 방법은 없을까요?
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
2-6 get_linked_list_sum 형변환으로 풀었는데
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 2-6어떤 알고리즘을 학습하고 계신가요? linked_list여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요? 막힌건아니구..코드의 어떤 로직이 이해가 안 되시나요? 이해도되는데어떤 개념이 헷갈리시나요? 내 풀이는 정석이 아닌가싶어서 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요? 생각을 많이함에러가 발생했다면 어떤 에러인가요? 에러 아님현재 작성하신 코드를 공유해주세요def get_linked_list_sum(linked_list_1, linked_list_2): concat_value_1 = "" concat_value_2 = "" cur_1 = linked_list_1.head cur_2 = linked_list_2.head while cur_1 is not None: concat_value_1 += str(cur_1.data) cur_1 = cur_1.next while cur_2 is not None: concat_value_2 += str(cur_2.data) cur_2 = cur_2.next return int(concat_value_1) + int(concat_value_2)강사님처럼 10을 곱해주는게아니라str로 형변환해서 그냥 붙힌다음에다시 int로 파싱해서 리턴했는데...이건 너무 야매풀이일까요..ㅠ 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
MyListEx 질문드립니다.
MyListEx 생성자에서 UserData를 매개변수로 받도록 설계한 이유에 대해 궁금합니다.MyNode라는 추상 자료형(ADT)을 정의해 두셨는데, 생성자에서 특정 구현체인 UserData를 직접 받는 방식이 추상화의 장점을 제한할 수 있다고 생각합니다.또한, onRemoveNode 메서드에서도 UserData 타입으로 변환하지 않고 MyNode에 정의된 메서드만으로도 충분히 기능 구현이 가능해 보이는데, 혹시 MyListEx는 UserData를 위한 전용 자료구조로 설계된 것인가요?그렇지 않다면, MyNode를 기반으로 유연성을 유지하도록 설계하는 것이 더 적합하지 않을까 하는 생각이 들어 질문드립니다.
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
part3 강의 개강
제 기억에는 작년 말에는 part3강의가 나온다고 하셨는데,언제 쯤 강의 오픈 예정이신가요?
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
코드 피드백 부탁드립니다,
아래의 코드는 강사님의 최종 작성 코드를 확인 전, 제가 생각해서 작성한 코드입니다.def find_max_occurred_alphabet(string):alphabet_occurrence_array = [0] * 26for char in string:if char.isalpha():arr_index = ord(char) - ord('a')alphabet_occurrence_array[arr_index] += 1max_num = alphabet_occurrence_array[0]max_alphabet_index = -1max_occurred_alphabet = 0for number in alphabet_occurrence_array:max_alphabet_index +=1if max_num < number:max_num = numbermax_occurred_alphabet = max_alphabet_index + ord('a')return chr(max_occurred_alphabet) 강사님께서 작성하신 코드와 비교해보니, 확실히 강사님께서 작성하신 코드가 더 심플해보였습니다.1-6 강의를 듣고 확인해보니, 시간복잡도 측면에서는 강사님께서 작성주신 코드와 차이가 없음을 확인하였습니다.제 구현 방식에 대해 앞으로 코드를 작성 시, 어떻게 풀이 방향을 잡고 구현을 해야하는지, 현재 코드에서의 개선점에 대해 피드백 주시면 감사드리겠습니다.
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
디스코드 접근할 수 없습니다.
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
사전문제 관련 질문
안녕하세요 이제 막 강의 듣기 시작한 취준생 입니다. 사전 문제 관련 수업 진행 방식에 대해서 질문이 있어서 글 남겼어요.섹션1 '이 강의를 극대화 하는법' 에서 사전 문제 먼저 풀고 -> 강의를 들으라고 하셨는데, 섹션2 시작할 때 사전문제 링크에 들어가보니까 1강부터 8강까지 총 8개의 파일이 있더라구요.그래서 궁금한 것이 생겼습니다.'1강_0.배경지식 퀴즈_촬영용' 이거를 혼자 풀어보고 -> 배열 만들기를 들어야 되는 건가요? 아니면 사전 문제에 있는 모든 파일을 풀어보고 강의를 듣는 건가요?? 파일명에 1강, 2강, 3강의 의미는 뭔가요?파일중에 '1강0.배경지식 퀴즈_촬영용' << 이건 뭐죠..? 2강_0.은 문제 -> 답이 구분되어 있어 퀴즈 형식이구나 싶은데 1강.0에 있는건 바로 답이 있어서 무슨 용도인지 모르겠어서요.. 촬영용이라고 적혀있는 것도 그렇고...질문 읽어주셔서 감사합니다.
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
1-5 알고리즘과 친해지기 (2)
1. 현재 학습 진도현재 1-5 알고리즘과 친해지기 강의 중 가장 많은 알파벳 출력하는 문제를 풀고 있습니다. 2. 어려움을 겪는 부분강사님께서 말씀해주신 부분은 가장 많이 사용된 알파벳을 찾는 함수를 구현하는 것인데 강사님께서 예제로 주신 string 값들이 모두 하나 이상의 최댓값을 가지고 있습니다. print("정답 = i 현재 풀이 값 =", result("hello my name is dingcodingco")) print("정답 = e 현재 풀이 값 =", result("we love algorithm")) print("정답 = b 현재 풀이 값 =", result("best of best youtube"))현재 풀이 값 = o,n,i 현재 풀이 값 = e,l,o현재 풀이 값 = b,e,t 강사님께서는 가장 많이 사용된 알파벳 중 제일 앞에 있는 알파벳을 출력하신 것 같습니다. 제가 1-6강을 아직 들어보지 않아서 이 부분에 대한 설명을 나중에 해주시는지 확인해 보지 않았지만 , 아무 설명도 없이 이렇게만 넘어간다면 저와 같이 헷갈리시는 분들이 많을 것 같아 질문 드립니다 🙂