묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바스크립트로 배우는 자료구조 & 알고리즘 (개념+문제풀이)
생산 공정 최적화 (이분탐색) 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 초기화 부분이 자바 내용이 아니라 파이썬으로 되어있습니다.자바 내용으로 최신화해주셔야 될 것 같습니다
-
미해결2026 코딩테스트 올인원 [JAVA]
part5. 청팀홍팀 풀이 질문 드립니다.
안녕하세요! 남노씨님 덕분에 강의 잘 들으며 학습중입니다. part5.청팀홍팀 풀이로 보여주신 것에서 질문이 있습니다.문제의 Input 예시 이해가 잘 되지 않았습니다.제가 혼자 생각했을 때는, 주어진 friends[][] 배열을 인접리스트로 만들어야한다고 생각했고, 서로는 쌍방이니 양방향 그래프. 양방향 값을 인접리스트에 넣어주어야 한다고 생각했습니다. 근데 input 예시를 보니, 예시1은 서로 양방향 없이 구성되어있고, 예시2는 인접리스트처럼 서로 양방향으로 구성되어있습니다. 이상황에서 인접리스트를 구성하려니 예시2로는 중복이 발생하더라구요.1. 예시 1,2 기준이 달라보이는데 어떻게 해석해야 좋을까요?2. 양방향 그래프=무방향 그래프 같다고 볼 수 있나요? 이 문제의 경우 어떤 그래프인지, 구현의 차이점이 있는지 궁금합니다.3. 풀이에서는 인접리스트를 별도로 안만들고, 받은 배열 자체를 인접리스트인것처럼 바로 사용하였는데, 이전 풀이와 비교해서 왜 이렇게 사용하였는지 궁금합니다. (문제에서 캐치할 수 있는 차이점이 뭘지)4. dfs/bfs에서 사용하는 자료구조(큐,재귀/스택)는 풀이에 사용하지 않으셨는데 문제 상 필요 없는건지, 이분그래프일 때 사용 안해도 되는지 궁금합니다. (일단 bfs 큐 사용한 구조 만들고 시작했는데 이렇게 접근하면 안되는걸까요?ㅠㅠ)이해 도와주시면 감사하겠습니다 :)
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
Linked List Element Delete Explanation Problem
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊 아래 코드(TODO; 제가 만든 삭제코드, 정답지; 제공된 교재 답 풀이본) 에 대해 문의드립니다. 5,9,12,27 일때 정답지를 통해 결과를 뽑아보면 삭제가 안되는 현상이 일어납니다. 이와 관련해 어떻게 생각하실지 여쭙습니다!class Node: def __init__(self, data): self.data = data self.next = None class LinkedList: def __init__(self, value): self.head = Node(value) def append(self, value): cur = self.head while cur.next is not None: cur = cur.next cur.next = Node(value) def print_all(self): cur = self.head while cur is not None: print(cur.data) cur = cur.next def get_node(self, index): node = self.head count = 0 while count < index: node = node.next count += 1 return node def add_node(self, index, value): new_node = Node(value) if index == 0: new_node.next = self.head self.head = new_node return node = self.get_node(index - 1) next_node = node.next node.next = new_node new_node.next = next_node # def delete_node(self, index): # TODO # if index == 0: # 첫번째 노드를 불러와야 출력이 가능하므로 0번째 인덱스를 제거하려고하면 1번쨰 인덱스를 head로 지정 # self.head = self.head.next # return # before_node = self.get_node(index-1) # 1. 제거해야할 노드 이전 노드 찾기 # delete_node = self.get_node(index) # before_node.next = delete_node.next # 2. 이전 노드 next를 제거할 노드의 next로 # delete_node.next = None # 3. 제거할 노드의 next 를 None # return "index 번째 Node를 제거해주세요!" def delete_node(self, index): # 정답지 if index == 0: # 첫번째 노드를 불러와야 출력이 가능하므로 0번째 인덱스를 제거하려고하면 1번쨰 인덱스를 head로 지정 self.head = self.head.next return before_node = self.get_node(index-1) # 1. 제거해야할 노드 이전 노드 찾기 before_node = before_node.next.next return "index 번째 Node를 제거해주세요!" linked_list = LinkedList(5) linked_list.append(9) linked_list.append(12) linked_list.append(27) print("제거 전") linked_list.print_all() print("제거 후") linked_list.delete_node(3) linked_list.print_all()
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문있습니다!
다른방법으로 풀어서 질문드립니다.지우는 노드부터 자식으로 내려가서면서 dfs를 돌리며 visited를 체크 했습니다.너무 비효율적인지? 아니면 이렇게 해도 될지 알려주시면 도움이 될것 같습니다! http://boj.kr/79ae7d2c251d458fa1560fcb789af4ae
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
LIS 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Q) LIS 알고리즘이 코딩 테스트에서 자주 사용되는 알고리즘인가요? 실전 코딩 테스트 경험이 적어서 그럴 수 있지만, 이거 LIS로 풀어야겠다 하고 문제 풀이를 들어간 경험이 없어서요. 그냥 알아두면 좋은 알고리즘이라고 생각하고 공부하고 있습니다.
-
미해결2026 코딩테스트 올인원 [JAVA]
추후 학습 계획 질문
안녕하세요!강의 수강 완료 후에는 복습하면서 다양한 문제를 풀어보면서 학습하는 방법이 좋을까요?..
-
해결됨코딩 테스트 합격을 위한 리트코드 핵심 문제 풀이
강의 순서
강의 수강 방법에 대해서 질문이 있습니다.저는 Blind75를 순서대로 풀고 있는데 강의 순서랑은 Blind75 순서랑 조금 다르더라구요 자료구조 알고리즘을 모르는 상태로 강의를 시작해도 되는지 1번과 연계되는 질문으로 일단 문제 풀이를 시도하되 한 문제당 어느정도의 시간을 두고 풀면 되는지 보통 10분 정도 고민해보고 정말 모르겠다면 문제풀이 강의를 바로 들어보는 편입니다.Blind75 순서대로 문제를 풀면서 풀지 못한 문제에 대해서만 강의를 시청하면 되는지 좋은 강의 만들어주셔서 감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-D 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 메모이제이션을 이용하지 않으면 최악 2^30까지 간다고 생각했습니다. (이동하는 경우, 이동하지 않는 경우 두 가지). 반면 메모이제이션을 이용하면 dp 배열 사이즈만큼 탐색되구요 그런데 메모이제이션 코드가 걸리지 않는 tc가 있다면 시간초과일텐데 왜 메모이제이션이 당연히 일어난다는 전제가 있는건가요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
continue를 사용하는 이유
break로 해도 되는데 continue를 사용한 이유가 궁금합니다.for (let nv of [v * 2, v * 2 + 1]) { if (nv > 7) break; queue.push(nv); }
-
미해결2026 코딩테스트 올인원 [JAVA]
자바 정렬
안녕하세요!다름이 아니라 , compareTO 랑 comparable관련 설명이 있을까요 ?개인적으로 이해가 정확히 안가서...ㅎㅎ...감사합니다!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
정렬 가능 여부 판단하기
뮤직비디오랑 마구간 정하기 문제를 풀어보는데 뮤직 비디오는 정렬하면 안된다고 했는데마구간 정하기에는 정렬을 해야한다고 해서 너무 헷갈립니다. 정렬 해도 되는것과 안되는것을 어떻게 구분할수 있을까요?