묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
강의 자료 오류 수정
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 3주차 스택어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요? 강의 자료에 코드 오류가 있습니다9)스택문제 - 탑 +더 개선하는 부분은 없나요?부분에 대한 정답 코드가 오류가 있습니다.while stack and stack[-1][1] <= heights[i]:해당 부분의 <= 가 <로 변경되어야합니다. 코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5의 배수만 확인해도 되지 않을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 2는 짝수여서, 2마다 소인수가 생기는데5는 5씩 증가할 때마다 소인수가 생기기 때문에결국 min(2의 소인수 개수, 5의 소인수 개수)를 하면 무조건 5의 소인수 개수가 생깁니다 그래서 5에 대해서만 계산해도 문제 없을 것 같습니다
-
미해결2026 코딩테스트 올인원 [JAVA]
정답과 동일하게 작성 후 실행 또는 제출했음에도 시간초과
강의에서 설명해주신 풀이 그대로 실행하기 / 제출하기 했으나, 항상 시간초과가 발생합니다.
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
Part1 > Chapter2 단원정리문제
안녕하세요 선생님,단원정리문제를 풀다 이해가 되지 않는 부분이 있어 문의드립니다.바로 Q&A상단에 같은 문의가 있긴한데 올려주신 답변으로는 이해가 잘 되지않아 문의드립니다. 문제7번) 관계에서 1:M관계에 대한 문제입니다[학생 - 강의]한학생이 여러강의를 들을 수있고 한강의에 여러학생이 듣는다는게 일반적인 사회적 통념인것같은데 어째서 이게 1:M인지 모르겠습니다.'학생 - 수강신청' 이런 느낌이엇으면 이해가 됬을거같은데 어째서 학생-강의 가 1:M이 되는걸까요?보편적으로 시험에서 나온다면 '강의'라는 것은 강의의 종류를 말하는것인지(ex. sql강의, 빅데이터강의) 강의를 듣는다는 행위인지(ex.수강신청)가 궁금합니다.[강사 - 과목]한강사가 여러과목을 할수있고, 한과목에는 한강사가 연결된다는것이 일반적인 사회적 통념이라 해당부분은 이해했습니다![주문 - 주문상세]한주문에 여러주문상세가 만들어질 수 있어서 1:M인걸까요? 주문상세 라고 하는건 A주문건에 대한 상세라고 생각해서 1:1관계라고 생각했는데 이거는 좀 다른 해석이 되는걸까요?앞에 수업에서도 계속 헷갈렸는데, 마지막 단원정리에서까지 틀리니 확실히 알고 넘어가야겠다 싶어서 문의드립니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1509 코드 리뷰 부탁합니다.
안넝하세요 해당 문제를 오답노트를 수행하다이렇게라고 풀 수 있지 않을까해서 풀어봤는데 풀려서 그런데 어떤지 코드 리뷰 부탁합니다.팰림드롬 문제를 다시 풀고이 문제를 다시 풀어보자니전의 식을 그대로 사용할 수 있지 않을까하고길이보다 i~j 범위가 팰린드롬이면 1를 넣어주는 방식으로 구현했습니다.이 방식이 직관적이라 저는 괜찮은데 어떤가요?http://boj.kr/cac0e82d9ba6447187f1462fa40c7032
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-H 질문입니다.
문제 보자마자 슬리이딩 윈도우가 생각나서 해당 방법으로 구현을 했습니다 . 구간합을 이용한 문제를 푸실때 누적합으로 구현하게 하시는 이유가 궁금 합니다.https://www.acmicpc.net/source/102197682
-
해결됨독하게 C를 배운 사람을 위한 선형 자료구조
05_adtFileIO 개정이력에 대한 질문
안녕하세요. LinearDataStructure 프로젝트의 main함수 내용을 보니puts("2024-03-20\t전**님의 제보에 따른 05_adtFileIO 예제 버그 수정(v1.5)");puts("\t\t(사용자가 새로운 항목 추가 시 파일 저장위치 옵셋이 0으로 하드코딩된 오류)");라고 되어있길래 AddNewUser() 함수 정의를 살펴보니 아직 AddNewNode()함수 호출 시 offset이 0으로 하드코딩 되어있더라구요. 혹시 제공된 예제코드에 아직 반영이 되지 않은것일까요? 물론 이벤트루프가 종료되면서 SaveNewDataToFile함수에서 append모드로 파일이 열려서 파일의 맨 끝부터 정상적으로 추가되고, 다음에 다시 실행하면 MYNODE의 offset이 정상적으로 반영은 되더라구요. 그런데 새로 유저를 추가하고, 그 유저를 바로 검색해서 수정한뒤, commit을 한다고 하면, 그때 그 유저의 노드에 담겨져 있는 offset은 0이기 때문에, 가장 앞에 있는 노드의 데이터가 덮어씌워지는 것을 확인했습니다. (예제에서는 'Hoon') 전** 님의 Q&A에 답변하신 것 처럼 전역변수 이용해서 offset을 지정하면 이런 문제가 해결되지 않을까 싶습니다. 항상 좋은 강의 감사합니다. 선생님 강의 들으면서 매번 쾌감이 느껴집니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
2-10 더하거나 빼거나 관련 질문입니다
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?2-10어떤 알고리즘을 학습하고 계신가요?재귀여기까지 이해하신 내용은 무엇인가요?강의 내용과 코드는 전부 이해했습니다. 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?아이디어 발상 과정코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 처음에 문제를 풀려고 시도했을 때, 아이디어를 이것저것 떠올렸고 2주차때 배운 내용에 재귀가 있으니 뭔가 재귀로 풀면 가능하지 않을까? 라는 것까지 도달했습니다.그러나 30분 이상 고민하다가 결국 도저히 모르겠어서 코드를 아예 짜지 못한 상태로 정답풀이 강의를 봤습니다..강의는 자세히 알려주셔서 다 이해를 했지만 이러한 문제를 마주쳤을 때 풀이법을 떠올리는 게 너무 어려운데 어떻게 하는게 좋을까요?
-
미해결2026 코딩테스트 올인원 [JAVA]
part6. 구름의 개수 풀이 시간초과 이유
part6 구름의개수1 문제 풀다 질문 드립니다. 아래는 제가 bfs로 푼 코드인데요. 케이스는 통과하는데 시간초과가 납니다.bfs() 매개변수로 int[] start 를 받아서 아래에서 사용했는데, 하위 for문에서 int[] sub 로 배열을 만들어 쓴게 문제인가 싶은데, 이런 일차원 배열 더 쓴다고 시간복잡도가 높아지나? 싶은 생각이 들어 시간 초과 왜나는지 궁금합니다. public static int solution(int[][] sky) { boolean[][] visited = new boolean[sky.length][sky[0].length]; int count = 0; for(int i=0; i<sky.length; i++) { for(int j=0; j<sky[0].length; j++) { if(!visited[i][j] && (sky[i][j] == 1)) { bfs(sky, new int[]{i,j}, visited); count++; } } } return count; } public static void bfs(int[][] sky, int[] start, boolean[][] visited) { Queue<int[]> q = new ArrayDeque<>(); q.offer(start); visited[start[0]][start[1]] = true; while(!q.isEmpty()) { int[] cur = q.poll(); System.out.println("start: " + start[0] + start[1] + "/ poll: " + cur[0] + ", " + cur[1]); // cur의 상하좌우 중 갈 수 있는 길 & visited 안한 길을 q에 넣기 int[] r = {-1, 1, 0, 0}; int[] c = {0, 0, -1, 1}; int w = sky[0].length; int h = sky.length; for(int i=0; i<r.length; i++) { int[] sub = new int[]{cur[0]+r[i], cur[1]+c[i]}; System.out.println("sub:" + sub[0] + ","+sub[1]); if((sub[0] >= 0 && sub[0] < h && sub[1] >= 0 && sub[1] < w) && (sky[sub[0]][sub[1]] != 0) && (!visited[sub[0]][sub[1]])) { q.offer(sub); visited[sub[0]][sub[1]] = true; System.out.println("sub offer:" + sub[0] + ","+sub[1]); } } } }
-
미해결2026 코딩테스트 올인원 [JAVA]
DFS vs BFS 중 BFS 추천해주신 것 관련 질문
안녕하세요![part6.구름의 개수1] 강의에서 DFS vs BFS 중 DFS 사용하면 스택오버플로우 가능성이 있어서 대안을 말씀 해주셨는데요.암시적그래프에서 구현 시에 해당하는건지, 다른 케이스에서도 그러한지 궁금합니다.암시적그래프에서 모두 1인 경우 재귀가 많이 호출되어서 그게 문제인거같은데, 다른 유형에서는 그런 경우가 없을까요?
-
미해결자바스크립트로 배우는 자료구조 & 알고리즘 (개념+문제풀이)
생산 공정 최적화 (이분탐색) worst Case 수정
function solution(n, speeds) { let left = 1; let right = Math.min(...speeds) * n; //최악의 경우 : 가장 빠른 기계가 n개의 제품을 만드는 시간 let answer = right; while(left <= right){ const mid = Math.floor((left+right) / 2) let total = 0; for (let time of speeds) { total += Math.floor(mid/time) // 중간 시간에 생성할 수 있는 제품 수 } if(total >= n){ answer = mid; right = mid - 1; } else { left = mid + 1; } } return answer } console.log(solution(8, [5,9])) console.log(solution(6, [7,10])) 최악의 경우가 가장 느린기계가 제품을 모두 생성하는 시간이 아닌 가장 빠른 기계만 사용해서 제품을 모두 만드는 경우가 최악의 케이스 같습니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
C++ 알고리즘 교안 학습 관련
최근 강의를 구매해, 코딩 테스트를 준비 중인 학생입니다!제가 원래 JAVA 언어를 주력으로 사용합니다. 코딩 테스트도 웬만하면 주력 언어를 사용하는 것이 학습 시간 면에서 유리할 것이라고 생각하고 있습니다. 실제로 시간이 많지도 않습니다.이런 상황에서, C++ 알고리즘 교안을 익히고 JAVA로 매핑 후, 강의를 들어야 하는 것인지아니면, C++ 알고리즘 교안을 익히고, 강의 또한 C++로 듣고, 마지막에 JAVA로 매핑 해야 하는 것인지혹은, 이미 C++ 을 어느 정도 알고 있어서, 바로 강의를 들으며 JAVA를 기준으로 진행해도 되는 것인지 궁금합니다...!!
-
미해결개발 역량 + 자격증까지, Java로 PCCP 자격증 준비하기
응시권 재발송해주시길 바랍니다.
응시권이 확인되지 않습니다.재발송해주시길 바랍니다.
-
미해결자바스크립트로 배우는 자료구조 & 알고리즘 (개념+문제풀이)
버블정렬
function bubbleSort(array) { const n = array.length for (let i=0; i<n; i++){ for (let j=0; j<n; j++) { if (array[j] > array[j+1]) { [array[j], array[j+1]] = [array[j+1], array[j]] } } } return array } console.log(bubbleSort([77, 42, 6, 4, 3, 5, 1, 35, 222])) 수업에서 사용하신 코드인데 버블정렬의 브레이크 포인트와 이미 정렬된 뒷 부분까지 비교할 필요가 없지 않나요? 저렇게 사용하신 다른 이유가 있으신 지 여쭤보고 싶습니다!function bubbleSort(array) { const n = array.length for (let i=0; i<n-1; i++){ let swapped = false; for (let j=0; j<n- i; j++) { if (array[j] > array[j+1]) { [array[j], array[j+1]] = [array[j+1], array[j]] swapped = true; } } if (!swapped) break; } return array } console.log(bubbleSort([77, 42, 6, 4, 3, 5, 1, 35, 222]))
-
미해결자바스크립트로 배우는 자료구조 & 알고리즘 (개념+문제풀이)
학습 방향성에 대한 문의
구현 원리는 어느정도 이해하였고 강의를 보고 구현 코드도 이해하였는데 직접 코드로 구현하려고 하니 잘 안됩니다 기본적인 예제나 구현을 암기하는게 맞을까요? 아니면 문제풀이를 반복하면서 막히면 보고해서 익숙할 때까지 푸는 방향이 맞을까요? 문제풀이와 구현 암기 중 어떤 것이 선행되어야 하는 지 여쭤보고 싶습니다
-
미해결자바스크립트로 배우는 자료구조 & 알고리즘 (개념+문제풀이)
큐 구현 관련
현재 queue는 따로 구현하지 않고 shief() 메서드를 이용하고 있는데 queue 구현하지 않고 shief()로 했을 때 성능차이 크게 없을까요? 코딩 테스트 시에도 이렇게 진행해도 되는 지 여쭤보고 싶습니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
3-8 해쉬 -2
def get_absent_student(all_array, present_array): all_set = set(all_array) present_set = set(present_array) return all_set - present_set이런식으로 작성하였는데 해쉬 테이블을 사용한 방법과 비교했을 때 어떤 가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
강의 영상에 오타가 있는 것 같습니다
비트마스킹 개념 #3-5. 비트연산자 활용법: idx번째 비트를 켜기 영상에서 2:26에 or연산이 맞는거 같은데 xor로 들리고 자막에도 xor로 나와서 질문 남깁니다
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법
안녕하세요! 11. 그래프와 인접행렬 강의를 듣다가 질문이 생겨 글을 남깁니다.가중치 방향 그래프에서 가중치가 0인 간선이 문제 특성상 의미가 있을 경우 가중치가 0인 간선을 자바로 표현하는 방법이 있을까요? 기존처럼 0으로 표현해 버리면 간선이 없는 경우와 구분하기 어려울 것 같아서요.검색 해보니 그런 경우에는 double 타입 행렬을 선언하고 간선이 없을 때 Double.POSITIVE_INFINITY 를 쓰는 것 같긴 한데 맞는 방법일까요? 그런 기법이 코딩테스트 풀 때 사용되는지도 궁금합니다.
-
미해결코테의 바이블 [java]
섹션6에 있는 [코테 TIP] visited 초기화 부분이 자바 내용이 아니라 파이썬으로 되어있습니다
섹션6에 있는 [코테 TIP] visited 초기화 부분이 자바 내용이 아니라 파이썬으로 되어있습니다.자바 내용으로 최신화해주셔야 될 것 같습니다