묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
더하거나 빼거나 문제 질문
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군데 합격 비법, 2026 코딩테스트 필수 알고리즘
이진트리 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군데 합격 비법, 2026 코딩테스트 필수 알고리즘
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 재귀 풀이 질문2
http://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군데 합격 비법, 2026 코딩테스트 필수 알고리즘
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
-
미해결해외 빅테크 코딩 인터뷰: LeetCode 포기자의 합격 공부법
질문이 세 가지 있습니다.
섹션 3 모의면접은 어떤 플랫폼 쓰신거에요? 인터뷰 보실 때 linkedIn이나 지인 통해서 Hiring manager를 먼저 컨택하셨나요? 아니면, career page에서 cold로 지원하셨나요? 지원 시점 부터 phone screening, full-loop 인터뷰 끝날 때까지 시간이 얼마나 걸리셨나요? 좋은 강의 배포해 주셔서 감사합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
스스로 작성한 코드 오류를 모르겠습니다
제 코드인데 어떤 부분이 틀렸는지 도저히 찾을 수 없어서 질문 남깁니다 #include <iostream>#include <vector>#include <utility>#include <algorithm>using namespace std;int n, c, tmp;vector<pair<int, int>> vec;int main(){ cin >> n >> c; while(n--){ cin >> tmp; auto it = find_if(vec.begin(), vec.end(), [&](pair<int, int> p) { return p.first == tmp; }); if (it != vec.end()) it->second++; else vec.push_back({tmp, 1}); } sort(vec.begin(), vec.end(), [](pair<int,int> a, pair<int,int> b){ return a.second > b.second; }); for (auto p : vec){ for(int i=0; i<p.second; i++) cout << p.first << " "; } return 0;}
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
모든 테스트 케이스랑 반례 찾아서 넣어도 맞게 나옵니다
안녕하세요!오랜만에 다시 코테를 푸는데 맞왜틀이 나와서 질문 드립니다!#include <iostream> using namespace std; int N, M, J; int l, r, cnt; int main(){ cin >> N >> M >> J; // 초기화 l = 1; r = M; cnt = 0; for (int i = 0; i < J; i++){ int apple; cin >> apple; // 범위 안이라서 움직일 필요 없다. if (apple >= l && apple <= r) continue; // 왼쪽에 가까우면 왼쪽으로 이동 오른쪽에 가까우면 오른쪽으로 이동 int leftLength = abs(l - apple); int rightLength = abs(r - apple); bool isLeft = leftLength < rightLength ? true : false; if (isLeft){ l -= leftLength; r -= leftLength; cnt += leftLength; } else{ l += rightLength; r += rightLength; cnt += rightLength; } } cout << cnt; return 0; }제가 만든 로직대로라면 절대로 경계값을 벗어날 수가 없습니다. 왜냐하면 문제에서 "각 사과는 N칸중 한 칸의 상단에서 떨어지기 시작하며" 라고 주어져 있기 때문입니다.67%에서 틀렸다고 나옵니다..!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-D 질문입니다!
http://boj.kr/88ce5a8413f544e49f40f03b76cc8be7큰돌님과 거의 유사한 방식으로 푼거같은데 왜 정답이 아닌지 잘 모르겠습니다혹시 반례가 존재하나요??