묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨미국 빅테크 알고리즘 문제 해결 전략 Part 1 (feat. 빌게이츠)
섹션1 Array 강의 default value 질문
섹션1 array강의 21분30초 쯤 Accumulator을 설명하시면서max_val은 array의 default value이고 variable이 default value라고 설명하셨는데 어떤 의미로 하신 말씀이신지 잘 모르겠습니다. 파이썬 문법과 관련된 말인가요?
-
미해결김영한의 실전 자바 - 중급 2편
안녕하세요. 강의록 오타 제보입니다.
파일: 9. 컬렉션 프레임워크 - Map, Stack, Queue.pdf위치: 22페이지 최상단 그림 양쪽에 poll이 아닌 pool로 나와있습니다
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지
섹션2 ["환경 vs. 설정 vs. 구성"] 강의 자막 문의
질문은 많으시면 많을수록 좋습니다. 가능한 빠른 답변 드리겠습니다.원활한 답변을 위해, 자세한 질문 사항 부탁드려요 😋 [33초]각 단어에 맞는 영어 번역이 잘못된 것 같습니다.환경 / 구성 / 설정Environment / Configuration / Setting로 이해하면 될까요?
-
미해결김영한의 실전 자바 - 중급 2편
배열과 비교한 리스트의 이점 중에서 itemCount가 size++랑 비슷한거 아닌가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]배열과 비교한 리스트의 이점으로 itemCount와 같이 배열에 몇 개의 데이터가 추가 되었는지 추적하는 변수를 제거할 수 있다고 했는데, MyArrayList calss에서 add(E e) 메서드를 보면 size++; 부분이 동일한 역할이을 하고 있는 것이 아닌가요?
-
해결됨코딩테스트 [ ALL IN ONE ]
[Unique Paths] 완전탐색 / DP (후반부)
[Unique Paths] 완전탐색 / DP (후반부) 강의에서 13분에서 질문있습니다. 첫 번째 행과 첫 번째 열이 모두 왜 1인가요?만약 방향을 바꾸기 전까지 1이라고 친다면, 아래 그림 처럼 도착지에서 최대 방법이 28이 아니라 8이 되어야 하는거 아닌가요? 왜냐면 방향은 오른쪽 아래로만 이동이 가능하다고 해서 올라가거나 왼쪽은 이동이 불가능하잖아요.
-
해결됨이득우의 꼭 배워야하는 게임 알고리즘
쿼드트리 옥트리가 활용되는 예시에 대하여 더 여쭤보고싶습니다.
3D던전 로그라이크 게임을 개발중인 초보 개발자입니다.PCG알고리즘에 부족한 점이 있는 것 같아 수강 하였습니다. 활용된 예시로는 2D플랫포머, 탄막게임에서의 최적화 부분과 3D게임에서 LOD로 부분 렌더링하는것 까지는 이해하였는데 활용된 다른 예시들이 궁금합니다.
-
해결됨코딩테스트 [ ALL IN ONE ]
dp 계단오르기최소비용질문입니다.
경우의 수 문제에서는 memo[i]가 i번째 계단까지 도달하는 방법의 수를 저장했다.최소 비용 문제에서는 memo[i]가 i번째 계단까지 도달하는 총 비용을 저장했다.그렇다면 memo[i]가 이미 최소 비용을 저장하고 있다면, 왜 cost[i]까지 더해야 하나요?memo[i] = min(memo[i-1], memo[i-2]) + cost[i] 계단 오르기 경우의 수 문제가당신은 계단을 오르고 있습니다. n꼭대기에 도달하려면 단계가 필요합니다.매번 당신은 오르 1거나 2계단을 오를 수 있습니다. 정상까지 올라갈 수 있는 뚜렷한 방법은 몇 가지입니까?memo[i]=i가 3이라고 한다면 3까지 도달할 수 있는 방법을 저장하는것이고.계단오르기 최소비용문제에서는 memo[i]=i가 3이라고 한다면 3까지 도달할 수 있는 비용을 저장하는것이라 생각하는데요.아래는 최소 비용 문제 코드입니다class Solution(object): def minCostClimbingStairs(self, cost): n = len(cost) if n == 2: return min(cost) # 계단이 두 개라면, 더 싼 비용을 선택 # DP 배열 초기화 memo = {} memo[0] = cost[0] memo[1] = cost[1] # 점화식을 이용하여 최소 비용 계산 for i in range(2, n): memo[i] = min(memo[i-1], memo[i-2]) + cost[i] # 불필요한 비교 제거 # 마지막 계단을 오르지 않아도 되므로, 마지막 두 개 중 최소값 반환 return min(memo[n-1], memo[n-2])
-
미해결김영한의 실전 자바 - 중급 2편
연결 리스트의 삭제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강사님 강의 항상 감사하게 보고있습니다연결리스트의 삭제에서 초기화를 시킨다고 했는데 참조값의 연결의 끊으면 사용되지 않으므로 gc대상이 되니 초기화는 안해도 되지 않나요?제가 놓친 부분이 있으면 말씀 부탁드리겠습니다 :)
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
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군데 합격 비법, 2025 코딩테스트 필수 알고리즘
1-5. 알고리즘과 친해지기 (2) 맨 마지막 시뮬레이션 관련 문의
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? => 1-5. 알고리즘과 친해지기 (2)어떤 알고리즘을 학습하고 계신가요? => 최빈값 구하기 2. 어려움을 겪는 부분어떤 개념이 헷갈리시나요?=> 안녕하세요~ 화면 캡쳐가 안돼서 말로 설명하자면, 강의 마지막 시뮬레이션 영상(25:58)에서 max_alphabet_index가 8이었다가, 13이었다가, 마지막에 14인 채로 끝나는 이유가 뭔가요?코드 상으로, if문 조건절에 등호를 붙이지 않았기 때문에(`if alphabet_occurrence > max_occurance:`), 동일한 최빈값 중에서는 알파벳 순서가 가장 앞에 위치한 알파벳이 max로 저장된다는 것은 이해했습니다! 그냥 시뮬레이션 영상 자체에 대한 질문이었어요! 근데 쓰다 보니 쓸 데 없는 질문인 것 같긴 하네요😅 그냥 코드 상으로 이해했다면 넘어가도 괜찮겠죠!??감사합니다!!
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
(3-8 해쉬-2) hash table 시간복잡도
3-8 해쉬-2 강의 수강 중 출석체크 문제에서2중 for문, 정렬, hash table 3가지 방식에 대한 시간복잡도를 설명해주셨는데hash table 시간복잡도에서 값 등록 시 최선이 1 최악이 N인데 최선을 고려한다. 라고 하셨는데 보통 어떤 입력이 들어올지 모르니 최악을 고려해야하는거 아닌가요?
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
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 사실상 같은코드긴 한데, 혹시나해서 검증받고싶어서..
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
[질문]: [섹션4] -> [2중 연결 리스트로 전환] -> [21:30]
강의 잘 보고있습니다! 선생님. 다름이 아니라 ReleaseList()함수에서 어차피 이제 pTmp는 NULL인 상황을 고려할 필요가 없을텐데(테일 노드 역시 동적 할당이 아니므로), 조건식에 NULL을 고려하는 코드가 있어서 의문입니다. 제가 또 다른 경우의 수를 자각하고 있지 못하는 걸까요? 아니면 그냥 혹시나 NULL일 상황을 대비해서 남겨두신 코드인가요?이런식으로 조건식을 바꾸더라도 프로그램은 정상 구동됩니다.
-
미해결김영한의 실전 자바 - 중급 2편
섹션4 강의 문의 입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강사님 강의 항상 잘 보고있습니다 🙂이번 강의에서 ArrayList 클래스를 직접 사용하지 않고, 별도로 클래스를 구현하여 기능을 설명해 주셨는데요.이전 강의에서는 직접 구현한 뒤 해당 클래스를 함께 활용하셨던 것으로 기억하는데,이번에는 ArrayList를 전혀 사용하지 않고 직접 구현만 하신 점이 궁금해서 문의드립니다.혹시 ArrayList를 사용하지 않아도 충분히 개념을 설명할 수 있어서 그렇게 진행하신 걸까요?아니면 별도로 구현하는 것이 ArrayList의 내부 구조를 더 잘 이해하는 데 도움이 되기 때문일까요? 강의 정말 유익하게 보고 있으며, 많은 걸 배워가고 있습니다!제 질문이 혹시 의도를 제대로 파악하지 못한 것이라면 너그럽게 이해해 주시면 감사하겠습니다. 😊
-
미해결김영한의 실전 자바 - 중급 2편
배열에 제네릭 타입을 사용하지 못하는 이유에 대한 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 1. 제네릭은 생성자를 통해 인스턴스를 생성하는 시점에 타입이 결정된다. 2. 코드로 타입 인자가 전달되면 자바 컴파일러는 제네릭 정보를 이용해서 해당 타입을 이해한다. 3. 자바 이레이져에 의해 컴파일 후 제네릭 정보가 사라진다 => 상한인 Object로 변경됨제네릭 적용이 이런식으로 진행된다고 이해를 했습니다.그러면 배열에 타입 인자를 적용하더라도 결국 상한인 Object로 변경되어서 코드가 돌아가지 않나요?private E[] elementData; public MyArrayListV4() { elementData = new E[DEFAULT_CAPACITY]; }자바가 E를 알 수 없어서 사용 불가능하다는 부분이 이해가 잘 안됩니다... 제가 어떤 부분을 놓치고 있는 걸까요?
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지
파이썬 data insert to table
안녕하세요스프레드에 있는 데이터 불러와서 하이브 테이블로 data insert 해주는 구문 작성했는데요ㅠ컬럼 9개에 데이터 로우는 5,000개 정도인데 1시간이 넘도록 반도 안들어가고 너무 느립니다 ㅠ뭔가 문제가 있는 것 같은데 제가 짠 코드에서 잘못된 부분이 있을까요?컬럼 6개에 데이터 로우 500개로 테스트했을땐 1초만에 모두 들어갔는데 컬럼 개수 문제인건지.. 모르겠습니다 # Get Raw List backsheet = gc.open_by_url("시트 링크 입력") list1 = backsheet.worksheet('py_hc').get_all_values() list2 = pd.DataFrame(list1[1:], columns=list1[0]) data = [] for i in range(len(df_hc_list)): value = df_hc_list.loc[i] values = [ str(value['a']), str(value['b']), str(value['v']), str(value['d']), str(value['e']), str(value['f']), str(value['g']), str(value['h']), str(value['i']) ] data.append(values) query = """insert into table values (%s, %s, %s, %s, %s, %s, %s, %s, %s)""" cursor.executemany(query, data) connection.commit() cursor.close() connection.close()어떤게 속도가 느리게 들어가게하는 원인인지 모르겠습니다 ㅠ
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
강의 내용 중 백트래킹 존재 여부
안녕하세요.실제로 코딩테스트는 자바로 준비하고 있으나, 강의에서 문제해결력을 학습하고 싶어서 강의를 수강하게 된 코테 입문자입니다.강의를 처음부터 듣지 않고 , 목차에 따라 필요한 내용을 듣고 있는 와중에 궁금증이 생겨 질문을 남깁니다.강의 내역 중 백트래킹에 관한 제목이 없는데, 강의에서는 다루지 않는건가요?
-
미해결김영한의 실전 자바 - 중급 2편
현재 자바가 정렬 알고리즘을 사용하는 기준 질문입니다
현재 자바는 데이터가 작을 때(32개 이하) 듀얼 피벗 퀵소트를 사용하고, 32개를 초과할 때 팀 소트를 사용한다고 말씀하셨는데,데이터 개수로 정렬 알고리즘이 정해지는게 아니라 데이터 타입으로 정해지는거 아닌가요?
-
해결됨김영한의 실전 자바 - 중급 2편
[리뷰] 잘 들었습니다!
40% 정도 들었을 때 리뷰를 이미 남겨버려서 이후에 추가로 남길 수는 없는 것 같아서 아쉬운대로 여기에라도 남깁니다.개발자의 길을 걷기로 정한 지 얼마 지나지 않았을 때, 파이썬이나 C 등을 배우고 나서 항상 아쉬웠던 부분이 "이 다음 스텝을 밟으려면 뭘 해야 되는 거지?"라는 막막함에 쉽사리 다음 스텝으로 가지 못하고, 그대로 다른 개념들을 배우러 가게 되어서 어느정도 배웠던 개념들이 꽤나 많이 사라져 버리는 경험을 했을 때입니다(ex. 파이썬 기초 책을 완독하고, 다음에 중급 단계를 배우고 싶은데, 뭘 선택해야 하지?).그런데 영한님은 정말 탄탄하게 로드맵을 정해 주셔서 "내가 한번 배운 기초 지식이 무의미하게 희석되지 않겠구나, 결국 다음 강의에 도움이 되는구나"하는 믿음을 가진 채로 듣다 보니 열정도 더 생깁니다.마지막 카드 게임 문제를 풀고난 뒤에 영한님의 풀이와 비교했을 때도 너무 재미있었습니다. "이렇게 해야 더 객체지향적이구나", "ENUM을 여기서 사용할 수가 있구나" 등등 내 코드보다 더 개선된 코드를 보면 그 수준까지 도달하고 싶은 열망에 더욱 공부 의욕도 샘솟네요.이제 저는 미리 결제해 둔 고급1편과 스프링 입문을 병행하며 듣고, 그 뒤로는 아마 고급 2편과 스프링 로드맵을 따라가지 않을까 싶습니다. 또한 나온 지 1년도 채 되지 않은 강의들이라 그런지 고급 자바편의 리뷰 수가 상대적으로 적은 것을 보면 뭔가 제 마음도 아프고, "영한님이 적은 리뷰 수에 의욕이 저하되면 안 될텐데"하는 생각이 들기도 합니다.그 덕분(?)인지 "아 나는 꼭 고급편 듣고 리뷰를 야무지게 남겨야지"라는 저만의 목표가 생기기도 하네요.저는 비록 학생에 불과하지만, 본인이 충분히 알고 있는 개념이라고 하더라도 그것들을 체계적이고, 오류없이 누군가에게 전달하려고 한다면 강의시간의 수 배만큼의 시간과 노력이 필요함을 잘 알고 있습니다.저도 가끔 무언가를 남에게 가르쳐주려고 할 때 초반에는 정말 탄탄한 순서와 검증된 자료들만으로 준비하면서 계획을 세우다가, 어느 순간 그 과정이 너무 힘들어서 헤이해지는 경우가 참 많았거든요.결국 하고 싶은 말은 스프링에 이어 그 기초가 되는 자바까지 이렇게 탄탄하게 준비해 주시니 그걸 듣는 저로써는 너무나 감사할 따름입니다. 영한님의 덕을 너무나도 잘 보고 있는 인간 1명이 있다는 사실에 조금이나마 강의 준비하시는 데에 도움이 되셨으면 합니다. 파이팅!
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
제가 공부하는 방법이 괜찮은지 궁금합니다
안녕하세요, 강의를 듣고 계신 여러분!여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요!강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지를 명확히 제시해 주시면 답변에 도움이 됩니다!자신은 어떻게 이해했는지 또한 적어주면 좋습니다! ex) 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의에서 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해했습니다. 그러면 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 어느 파트섹션 2 재귀함수 이해하기 문제 풀이 백준 4779 칸토어 집합자신은 어떻게 이해했는지먼저 칸토어 집합의 원리? 구성을 이해해 보려함 이후 이것을 수식으로 바꿔 보고 그것을 재귀함수 형태로 바꿔 보려 함강사님께서 풀어 보고 오라고 하셨는데, 일단 시도는 하였으나 설계 자체가 잘 되지 않고, 챗 gpt에서 제 코드에서 설계나 풀이의 문제가 뭐냐고 물어봤는데 아예 접근부터 잘못되었다고 생각됨어떤 부분이 궁금한지 원래 자바로 공부하다가 파이썬이 코테에 유리하다는 것을 느끼고 바꿨더니 문법 문제가 생김문제를 풀 때 그때그때 문법 검색해 보고 블로그에 정리하는 식으로 공부할지 or 그냥 파이썬 문법 강의까지만 듣고 올지실버 문제가 아직 설계부터 어렵고, 수학 문제가 나오면 어버버거리는데, 이걸 문제를 다 못 풀어 봤어도 혼자 30분 정도 접근해 보고, gpt에 물어봐서 나의 문제점을 이해하고 문제 풀이 강의를 듣는 식으로 해도 되는 건지? 브론즈 같은 경우엔 일단 풀이가 깔끔하지 않더라도, 문제가 풀려서 풀고 강의를 들으면 됐었는데, 실버 문제로 오니까 아예 설계부터 못하는 것 같아서 공부를 어떻게 해야 하는 건지 모르겠음