묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
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군데 합격 비법, 2024 코딩테스트 필수 알고리즘
1-5. 알고리즘과 친해지기 (2) 맨 마지막 시뮬레이션 관련 문의
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? => 1-5. 알고리즘과 친해지기 (2)어떤 알고리즘을 학습하고 계신가요? => 최빈값 구하기 2. 어려움을 겪는 부분어떤 개념이 헷갈리시나요?=> 안녕하세요~ 화면 캡쳐가 안돼서 말로 설명하자면, 강의 마지막 시뮬레이션 영상(25:58)에서 max_alphabet_index가 8이었다가, 13이었다가, 마지막에 14인 채로 끝나는 이유가 뭔가요?코드 상으로, if문 조건절에 등호를 붙이지 않았기 때문에(`if alphabet_occurrence > max_occurance:`), 동일한 최빈값 중에서는 알파벳 순서가 가장 앞에 위치한 알파벳이 max로 저장된다는 것은 이해했습니다! 그냥 시뮬레이션 영상 자체에 대한 질문이었어요! 근데 쓰다 보니 쓸 데 없는 질문인 것 같긴 하네요😅 그냥 코드 상으로 이해했다면 넘어가도 괜찮겠죠!??감사합니다!!
-
해결됨38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
(3-8 해쉬-2) hash table 시간복잡도
3-8 해쉬-2 강의 수강 중 출석체크 문제에서2중 for문, 정렬, hash table 3가지 방식에 대한 시간복잡도를 설명해주셨는데hash table 시간복잡도에서 값 등록 시 최선이 1 최악이 N인데 최선을 고려한다. 라고 하셨는데 보통 어떤 입력이 들어올지 모르니 최악을 고려해야하는거 아닌가요?
-
해결됨38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
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군데 합격 비법, 2024 코딩테스트 필수 알고리즘
1-7. 4:30 에서 N*N이 아닌이유가 뭔가요?
1-7. 4:30 에서 N*N이 아닌이유가 뭔가요? 갑자기 26을 상수취급하는 이유를 모르겠어요.. 1-6에서는 N*N이었던 것 같은데요... 1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
공간복잡도 질문입니다!
공간복잡도가 N인 경우는 큰 차이가 없다고 이해했습니다.예제 코드에서도 29, 30 처럼 N인 경우를 확인하였습니다.그렇다면 공간복잡도가 N^2인 경우는 어떤 예제 코드가 될 수 있을까요??시간복잡도는 이해가 갔는데(ex. 이중for문) 공간복잡도가 N^2인 경우는 어떻게 되는지 궁금합니다!
-
미해결카카오 코테 6주 합격! 실전 파이썬 코딩테스트
트리 - 목표문제 11725 메모리 초과
안녕하세요트리 목표 문제 11725 예제를 백준에서 돌렸을때 메모리 초과가 발생합니다. 혹시 메모리 초과가 나지 않게 푸는 방법은 없을까요?
-
해결됨38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
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군데 합격 비법, 2024 코딩테스트 필수 알고리즘
코드 피드백 부탁드립니다,
아래의 코드는 강사님의 최종 작성 코드를 확인 전, 제가 생각해서 작성한 코드입니다.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군데 합격 비법, 2024 코딩테스트 필수 알고리즘
디스코드 접근할 수 없습니다.
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨카카오 코테 6주 합격! 실전 파이썬 코딩테스트
사전문제 관련 질문
안녕하세요 이제 막 강의 듣기 시작한 취준생 입니다. 사전 문제 관련 수업 진행 방식에 대해서 질문이 있어서 글 남겼어요.섹션1 '이 강의를 극대화 하는법' 에서 사전 문제 먼저 풀고 -> 강의를 들으라고 하셨는데, 섹션2 시작할 때 사전문제 링크에 들어가보니까 1강부터 8강까지 총 8개의 파일이 있더라구요.그래서 궁금한 것이 생겼습니다.'1강_0.배경지식 퀴즈_촬영용' 이거를 혼자 풀어보고 -> 배열 만들기를 들어야 되는 건가요? 아니면 사전 문제에 있는 모든 파일을 풀어보고 강의를 듣는 건가요?? 파일명에 1강, 2강, 3강의 의미는 뭔가요?파일중에 '1강0.배경지식 퀴즈_촬영용' << 이건 뭐죠..? 2강_0.은 문제 -> 답이 구분되어 있어 퀴즈 형식이구나 싶은데 1강.0에 있는건 바로 답이 있어서 무슨 용도인지 모르겠어서요.. 촬영용이라고 적혀있는 것도 그렇고...질문 읽어주셔서 감사합니다.
-
해결됨38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
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강을 아직 들어보지 않아서 이 부분에 대한 설명을 나중에 해주시는지 확인해 보지 않았지만 , 아무 설명도 없이 이렇게만 넘어간다면 저와 같이 헷갈리시는 분들이 많을 것 같아 질문 드립니다 🙂
-
미해결카카오 코테 6주 합격! 실전 파이썬 코딩테스트
식 오류 있습니다.
안녕하세요. 강의를 듣고 있는 학생입니다.현재 1분 25초에 나오는 'O(logN)알고리즘을 선택한다면?' 부분의 식에서 7/log_10(2) 이 1/log_10(2)로 수정되어야 할 것 같습니다(log의 밑을 여기엔 수식으로 표현하지 못하여 log_10(10이 밑)처럼 표현했습니다.). 즉 7이 1이 되어야 합니다.감사합니다.
-
해결됨38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
섹션4. 3주차 Stack 백준 2493
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 섹션4. 3주차 Stack 3-5어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분딩코님교재 스택부분 예제에 있는 백준 2493 , https://www.acmicpc.net/problem/2493선생님이 알려준 내용대로 이해하고 제출했으나 3개모두 시간초과가 뜹니다. pypy로 바꿔서도 해봣네용스택 학습이 우선적이기에 의도했다고 하더라도(제가 잘못 한걸 수도 있습니다!!!1)시간초과가 뜨지않길 원합니다, 어떻게 코드를 수정해야할까요 3. 시도해보신 내용 에러가 발생했다면 어떤 에러인가요? 시간초과현재 작성하신 코드를 공유해주세요 첫번째콛, -내가 작성n=int(input()) # 한 줄로 입력 받기 data = input().strip() numbers = list(map(int, data.split())) result=[] for i in range(n-1,-1,-1): cur_idx=i for j in range(i-1,-1,-1): if numbers[i]<numbers[j]: result.append(j+1) break elif j==0: result.append(0) result.append(0) while result: print(result.pop(),end=" ") 나머지코드- 딩코님의 작성n=int(input()) # 한 줄로 입력 받기 data = input().strip() top_heights= list(map(int, data.split())) def get_receiver_top_orders(heights): answer = [0] * len(heights) while heights: height = heights.pop() for idx in range(len(heights) - 1, -1, -1): if height <= heights[idx]: answer[len(heights)] = idx + 1 break return answer print(get_receiver_top_orders(top_heights)) # [0, 0, 2, 2, 4] 가 반환되어야 한다! n=int(input()) # 한 줄로 입력 받기 data = input().strip() top_heights= list(map(int, data.split())) def get_receiver_top_orders(heights): answer = [0] * len(heights) while heights: height = heights.pop() for idx in range(len(heights) - 1, -1, -1): if height <= heights[idx]: answer[len(heights)] = idx + 1 break return answer print(get_receiver_top_orders(top_heights)) # [0, 0, 2, 2, 4] 가 반환되어야 한다! 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
문자열 비교 강좌에서 문자열 선언 방법 간에 hashCode() 값 관련한 질문입니다.
해당 강좌에서 String str1 = "java"로 선언한 객체와 String str2 = new String("java")로 선언한 객체는,다른 메모리 공간에 저장된다고 말씀하셨는데요.hashCode()로 확인한 결과 동일한 값이 출력되어 문의드립니다.String str1 = "java"; String str2 = "java"; String str3 = new String("java"); String str4 = new String("java");위 코드처럼 선언한 후 hashCode()로 출력하면 str1 ~ str4까지 동일한 값이 출력됩니다.System.out.println("str1 : str2 -> " + str1.hashCode() + " : " + str2.hashCode()); System.out.println("str3 : str4 -> " + str3.hashCode() + " : " + str4.hashCode()); 헌데 동일성 확인을 하면 str1과 str2 는 true 이고,str3과 str4는 false가 출력되고요.물론 str1과 str3도 false가 출력됩니다.이걸 어떻게 해석해야 하는지 문의 드립니다.
-
해결됨38군데 합격 비법, 2024 코딩테스트 필수 알고리즘
병합정렬 문제에서 조건이 하나 빠진 것 같습니다
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 3-4 2. 어려움을 겪는 부분병합 정렬 구현해볼 때 두 배열의 비교하는 값이 같은 경우에서의 처리가 안되어 있는 것 같습니다. 3. 시도해보신 내용while first_array_index < len(array1) and second_array_index < len(array2): if array1[first_array_index] < array2[second_array_index]: result_array.append(array1[first_array_index]) first_array_index += 1 elif array1[first_array_index] > array2[second_array_index]: result_array.append(array2[second_array_index]) second_array_index += 1 else: result_array.append(array1[first_array_index]) result_array.append(array2[second_array_index]) first_array_index += 1 second_array_index += 1 동일한 값을 비교할 경우 두 값을 모두 result 배열에 넣어줘야 하니까 else의 코드도 있어야 하지 않을까 생각이 들어 글 남깁니다! 좋은 강의 감사드립니다!
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
상속과 오지랖의 콜라보 예제에서 clone() 메서드에 대한 문의드립니다.
해당 예제(22:17)의 setString(String param)에서string 필드 변수의 값을 수정하고자 아래 구문을 사용하셨는데요,string = param.getBytes().clone(); clone() 메서드를 사용하지 않아도(아래 구문) string 필드 변수의 수정이 가능한데, clone() 메서드를 사용한 이유를 알 수 있을까요?string = param.getBytes(); 해당 의문에 대해서 얇은/깊은 복사와 관련이 있는지 확인해보기 위해 디버깅을 해본 결과,두 변수는 값은 같으나, 다른 메모리 위치를 갖는 것으로 확인을 했습니다.-> clone() 메서드가 있는 코드/없는 코드 모두 위와 동일하게 동작하는 것을 확인했습니다.그래서 다른 이유로 clone() 메서드를 사용하신 거 같은데, 어떤 이유인지 문의 드립니다.
-
미해결개발 역량 + 자격증까지, Java로 PCCP 자격증 준비하기
강의 업로드 오류
2-1, 2-2 강의 업로드 된 내용이 1-1,1-2와 동일해요