묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
- 
      
        
    해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트5-J 맞왜틀https://www.acmicpc.net/submit/1700/94323581큰돌님이 설명해주신 문제풀이 논리자체는 혼자서 문제 풀 때도 생각해서 그걸 그대로 구현했는데 계속 틀렸다고 뜨네요.. 뭐가 틀렸는지 잘 모르겠습니다. gpt도 딴소리만 계속해요 
- 
      
        
    해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘5주차 진도 나가기전 질문입니다.안녕하세요 딩코님!현재 4주차 숙제부분까지 강의를 완료하고 5주차는 실전문제풀이과정이라 해당 과정 들어가기전에 질문이 있습니다. 4주차 까지 들으면서 이전까지는 숙제문제는 바로 코드로 작성하진 못해도 어 이렇게 풀면 되지않을까 하는 구상이 가능했는데 3주차 숙제인 멜론 베스트 앨범뽑기부터 해서 4주차 숙제들은 전부다 문제를 봐도 해당 주차에 배웠던 알고리즘들을 이용해서 풀어보려해도 시작점 조차 생각이 나질않아 바로 해설영상을 보고 따라치는 정도로밖에 하질못해 다시 반복해서 공부할 예정입니다.5주차 영상부터는 4주차까지의 숙제로 주신 알고리즘 문제를 전부 이해하고 시청하는게 좋을까요 아니면 일단 문제들을 최대한 풀어서 익숙해질떄까지 계속 풀면서 이해하는게 좋을지 궁금합니다. 또 알고리즘 문제를 풀면서 정답이나 해설영상을 몇분까지 풀다가 보면 좋을까요지금까지는 문제를 풀다가 '아 나 더이상 이 이상은 작성 못하겠어' 할떄 정답과 해설영상을 봐왔는데이렇게 하니 어려운 문제를 풀때는 시간이 너무 소모되는거 같아 이게 맞나? 싶을떄도 있어 제가 잘못 공부하고있는건지도 궁금합니다! 
- 
      
        
    미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트8-I vector 범위 질문- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요. 선생님.vector의 크기를 max_n으로 할당하셨는데, max_n + 1으로 해야하지 않나요? 그래야 tree[max_n]까지 계산할 수 있잖아요. 이상하다고 생각해서 비주얼 스튜디오로 실행했을 때는 바로 오류가 나는데, 백준은 그냥 통과하더라고요?왜 그렇죠? Update()함수를 실행할땐 범위가 max_n을 초과할 수 있으니까 그렇다 해도, right 값을 구할때 사용하는 Sum은 max_n부터 계산하니까 무조건 오류가 날 거라고 생각했는데 말이죠. 
- 
      
        
    해결됨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편iterator.next() 질문드립니다 ![질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]4:47초에서 iterator.next()가 '현재 데이터를 반환하고 다음으로 이동'한다고 하셨고, 그것이 '다음 데이터를 반환한다' 라는 말씀이라 하셨습니다.제가 이해가 잘 안되는데, 현재 데이터를 반환하고 다음으로 이동하는 것은 리턴값이 현재 값 이라는 것일테고다음 데이터를 반환하는 것은 리턴값이 다음 데이터라는 말일텐데, 혹시 어느 것이 맞을까요 ..? 
- 
      
        
    해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트2-P DFS 코드 질문 드립니다안녕하세요, 강사님.강의 보기 먼저 혼자서 고민하며 풀어보았는데요,https://www.acmicpc.net/source/share/46676449a9414be689433f27149f744b 바이러스를 확산시킬 때 이번 문제의 경우 방문한곳을 굳이 체크하지 않고 값이 0인 지점은 모두 확산하면 되겠다고 생각해서 visited 배열 사용하여 이미 방문한 노드에 대한 확인은 하지 않았는데요, 이렇게 풀어도 괜찮은게 맞을까요?백준 제출 시 정답이 나오긴 했는데 찝찝해서 질문드립니다. 
- 
      
        
    해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘4-5 그래프 강의 내용에 대해 질문드립니다.안녕하세요!'4-5 그래프' 강의 내용 중에 '인접 리스트'를 사용해 그래프를 표현하는 경우 공간복잡도가 최악의 경우에도 O(N)이라고 설명을 해주셨는데요!그래프의 모든 노드가 다른 모든 노드에 연결되어있는 경우라면 딕셔너리 안에 N개의 키와 각각의 키에 크기 N-1의 1차원 배열이 들어가게 되니, 결국 N*(N-1) 만큼이 공간을 차지하여 최악의 경우 2차원 배열과 동일하게 O(N^2)의 공간복잡도를 가지게 되는 것은 아닌가 하는 생각이 들었는데요,인접 리스트를 사용할 때 최악의 경우 어떻게 O(N)의 공간복잡도가 나오게 되는지 궁금합니다!그리고, 일반적인 경우에는 모든 노드가 연결되어 있지는 않겠지만, 항상 이러한 최악의 경우도 고려하면서 문제를 풀어야 할지도 궁금합니다! 
- 
      
        
    미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트5-L 시간복잡도 추론을 어떻게 해야할지 감이 안옵니다.비트마스킹 생각하기 전에 기본 추론 방식인 완탐 -> DP -> 그리디 순으로 생각을 해볼때 완탐의 경우 20C10 의 복잡도가 어느정돈지 아예 감이 안오더라구요20! / 10! * 10! 인데 10!은 360만정도로 이해했는데 문제 풀이에 도저히 20!의 감이 안와서 일단 '완탐'으로 가능한지 여부 자체도 파악이 안되더라구요.어떻게 이럴경우 대략적인 숫자를 확인해볼 수 있을까요 
- 
      
        
    해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트7-c 질문드립니다안녕하세요 dp 없이 dfs로 풀었는데 왜 틀렸는지 모르겠습니다. 그리고 Int 형 재귀는 아무리 봐도.. 떠오르기 힘든데 (외판원 순회 문제도 아직 이해를 하지 못했습니다 ㅜㅜ) int 재귀를 잘 이해하는 방법이 있을까요?#include <bits/stdc++.h> using namespace std; int t,a,d[54][54]; string s; char b[54][54]; bool check[54][54]; int ans[54][54]; const int dy[4] = {-1, 0, 1, 0}; const int dx[4] = {0, 1, 0, -1}; bool in(int aa,int bb){ return(1<=aa && aa<=t && 1<=bb && bb<=a); } void down(int y,int x){ check[y][x] = 1; int value = (int)b[y][x] - '0'; for(int i = 0; i < 4; i++){ int ny = y + dy[i] * value; int nx = x + dx[i] * value; if(!in(ny, nx) || b[ny][nx] == 'H') continue; if(check[ny][nx]){ cout << -1 << "\n"; exit(0); } d[ny][nx]=max(d[ny][nx],d[y][x]+1); down(ny,nx); } check[y][x] = 0; } int main(){ cin >> t >> a; for(int i = 1; i <= t; i++){ cin >> s; for(int j = 1; j <= a; j++){ b[i][j] = s[j - 1]; } } //cout << down(1, 1) << "\n"; d[1][1]=1; down(1,1); int ret=0; for (int i=1;i<=t;i++){ for (int j=1;j<=a;j++){ ret=max(ret,d[i][j]); } } } 
- 
      
        
    해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트4-C 재귀 풀이 질문2http://boj.kr/367fd4875e384ed7a3c4d8d650155ae6안녕하세요, 큰돌님.말씀해주신 대로 벡터에 크기 지정해서 런타임 에러 해결했습니다.연결성 체크하는 부분은 어떤 방식으로 구현해야 될까요?DFS로 할 수는 있을 것 같은데, 맞는 방향성이 아닌 것 같다는 생각이 듭니다... 
- 
      
        
    미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트맵 탐색에서 for문 내부의 조건문에 대해 질문 있습니다!안녕하세요 큰돌님 열심히 수강중입니다 ㅎㅎvoid go 함수 내부에 for문에서if(a[ny][nx] && visited[ny][nx] == 0) go(ny,nx);이렇게 쓰는것과 강의 영상에 나오는 if(a[ny][nx] == 0)continue;if(visited[ny][nx]) continue;차이점이 있을까요? 
- 
      
        
    미해결김영한의 실전 자바 - 중급 2편자료구조&알고리즘 강의코딩인터뷰용 자료구조&알고리즘 강의 만들어주시면 안되나요. 김영한님 한테 전달좀 해주세요ㅜㅜ 
- 
      
        
    미해결김영한의 실전 자바 - 중급 2편hashIndex함수의 매개변수가 E가 아닌 이유[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 제네릭 Set 4 부분 강의에서 질문드리고 싶은 점이 있어 여쭤봅니다. private int hashIndex(Object value){ return Math.abs(value.hashCode())%capacity;}이 부분에서 매개변수가 E value가 아닌 Object 로 들어오는 이유는 타입 이레이저 때문일까요 ? 
- 
      
        
    해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트3-O 질문있습니다!항상 강의 잘 보고 있습니다 감사합니다 ㅎㅎ다음은 제가 작성한 코드입니다.https://www.acmicpc.net/source/93982542 제 코드에서 궁금한 점은 다음과 같습니다. 평소 제 코드 스타일과도 연관된 부분인데주어진 상황에 대해 정직하게 푼다고 해야 할까요..? 특히 완전탐색의 경우, 저는 대부분 '가능한 조건 탐색 -> 해당 조건 적용 -> 결과 확인'의 정해진 순서대로 풀이하는데, 지금까지는 문제가 없었지만 해당 방식이 추후 '색다른 접근을 요구하는 풀이' 등에서는 독이 될까 조금은 걱정됩니다. 크게 신경 쓰지 않아도 될까요?최소값을 찾았을 때, 이후의 가지치기 대신 exit(0)으로 프로그램을 종료시켜버리는 것이 괜찮을지 궁금합니다. 답변 기다리겠습니다. 감사합니다! 
- 
      
        
    해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트4-C 재귀 풀이 질문http://boj.kr/089c2c9136d74ad080637a1d940ca88d안녕하세요, 큰돌님.비트마스킹이 익숙치 않아서, 우선 재귀로 풀어봤습니다.풀다가 연결성 체크하는 부분에서 막혔는데, 어떤 방식으로 해야 될까요? DFS로 할 수는 있을 것 같은데, 맞는 방향성이 아닌 것 같다는 생각이 듭니다... 
- 
      
        
    해결됨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 
