묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-B 맞왜틀 과련 질문
https://www.acmicpc.net/source/87407582 왜 틀린건지를 모르겠어요.
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
dev C++ 콘솔창 바로 닫힘
콘솔창이 바로 닫혀서 출력확인이 안됩니다.1.#include <stdlib.h>,#include <stdlib.h>의 system("pause");를 return 0;이전에 코드 적기,getch();system함수위에 추가해보기.도구-환경설정-pause console programs after return 체크하기위 방법 다 안되고, 채점만 진행중인데ㅠ 뭐가 문제인지 모르겠습니다.다른 툴 써야할까요?
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 공유 부탁드립니다.
안녕하세요 현재 강의를 듣고 있는데 노션 워크스페이스 공유가 안되어있어서 해당 메일로 공유 부탁드립니다.dohyun8032@gmail.com
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
nPr에서 의미없는 연산을 건너뛸 방법이 있을까요?
n개의 원소 중 r개 원소로만 이루어진 순열 결과를 얻고 싶어 간단한 수정을 해보았습니다.set이 중복값을 없애주기에 원하는 결과는 얻었지만, 필요없는 연산을 줄이는 방법은 모르겠습니다.(0,1,5에서 바로 다음 연산값인 0,1,9를 찾는 게 아니라, 실제로는 <0,1,5,9,15>의 다음 순열값인 <0,1,5,15,9>를 찾고있음)
-
미해결코딩테스트 합격자되기-알고리즘 개념
의사코드 작성시에 깊이에 대한 질문입니다.
의사코드 작성시에 깊이가 3단계를 넘어가지 않아야 하고, 넘어간다면 그 부분을 함수로 만들라고 하셨습니다. 함수를 만든다는 의미는 의사코드에서 함수를 만들라는 이야기 인가요?? 아니면 의사코드는 깊이를 전부 표현하되, 구현에서 함수로 독립을 시켜야 한다는 의미 인가요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-k 맞왜틀 질문있습니다.
안녕하세요.아쉽게도 강의처럼 2차원 배열에 모아둔 후, 한칸씩 당기는것을 생각을 못해 노가다로 풀어버렸습니다.다만 알고리즘 자체는 맞다고 생각하고, 예제도 다 맞는데 16%에서 틀려버리네요.어디가 틀렸는지 궁금합니다.http://boj.kr/76b5753735c448b7a9558225494e778e감사합니다.
-
미해결김영한의 실전 자바 - 중급 2편
제네릭 상한 설정을 위해 생성자를 활용하는 것이 extends보다 못한 점이 무엇인가요?
[질문 내용]제네릭의 상한 설정을 소개하시기 전에 어떻게 특정 타입만을 받도록 할지 혼자 고민을 해 보았는데, 클래스 생성 시 생성자를 통해 받을 타입을 제한하면 어떨까 생각했습니다. public class Box<T> { private T animal; public Box(Animal animal) { this.animal = (T) animal; } } 결과적으로 문제를 해결하기는 했는데, 이 방법에도 여전히 문제가 있기 때문에 extends를 이용하는 거겠죠? 상기한 방법이 extends를 이용하는 방법보다 못한 점이 무엇인지 궁금합니다.
-
미해결김영한의 실전 자바 - 중급 2편
Cat에 toString 을 오버라이딩 하면...
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]위와 같이 Cat 클래스에 toString 메서드를 오버라이드 했을때 findAnimal2 의 결과가 Cat()이 나오는게 왜 그런지 모르겠습니다.. 타입 인자가 Animal이고, Cat은 Animal을 상속받은 자식 클래스기 때문에 Cat의 toString 이 나와야 하는거 아닌가요..? 어디서 놓친건지 잘 모르겠습니다.
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
코딩테스트 디버깅
안녕하십니까 좋은 강의 잘보고있습니다!디버깅에 관한 중요성을 알려주셨는데 요새 코딩테스트는 IDE를 허용하지않는 경우가 꽤 있는것으로 알고있습니다.이러한 경우에는 어떻게 처리하시나요?
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
1-9 알고리즘 문제 다른 코드
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?1-9 알고리즘 더 풀어보기 (1) 2. 어려움을 겪는 부분문제의 조건이 모든 연산은 왼쪽에서 순서대로 이루어진다. 라고 되어있어, 연산을 해야하는 순간에 가장 최대가 될 수 있는 연산만 골라서 계산한다 라고 떠올려보았습니다. 그렇다면 해당 문제를 greedy로 생각해봐도 괜찮을까요? 아직 진도 초반이지만, 평소 코테 문제를 볼 때 어느 부분에 힌트를 잡고 어떤 알고리즘으로 풀어야하는지에 대해 감이 없는 상태라서 이런 문제들(연산이 순서대로 된다던지, 거스름돈 문제처럼 단위가 결정된다던지)은 greedy로 보면 되는지 여쭙고싶습니다.아래는 풀이한 코드입니다.def find_max_plus_or_multiply(array): answer = array[0] for n in range(1,len(array)): if answer + array[n] > answer * array[n]: answer += array[n] else: answer *= array[n] return answer result = find_max_plus_or_multiply print("정답 = 728 현재 풀이 값 =", result([0,3,5,6,1,2,4])) print("정답 = 8820 현재 풀이 값 =", result([3,2,1,5,9,7,4])) print("정답 = 270 현재 풀이 값 =", result([1,1,1,3,3,2,5]))
-
해결됨38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
시간복잡도 설명부분에서 질문이 있습니다
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?1챕터 7강 (공간 복잡도 판단하기) 2. 어려움을 겪는 부분1-7 강에서 시간 복잡도 설명을 해주시면서아래 코드들을 직접 array 길이의 값인 26을 대입하여 비교해주셨는데요,사실상 첫 번째 코드는 이중 for문이므로 O(N^2)이고, 두 번째 코드는 for문을 각각 1개씩 썼기때문에 O(N)라 시간복잡도면에서 큰 차이가 나지않나해서요강의에서는 직접 숫자를 대입한 후에 첫 번째 코드와 두 번째코드는 N^2에 비해 효율에 있어 차이가 없다고 말씀하셔서 어디 부분에 제가 혼동이 오는지 궁금하여 질문드립니다! for alphabet in alphabet_array: # alphabet_array 의 길이(26)만큼 아래 연산이 실행 occurrence = 0 # 대입 연산 1번 실행 for char in string: # string 의 길이만큼 아래 연산이 실행 if char == alphabet: # 비교 연산 1번 실행 occurrence += 1 # 대입 연산 1번 실행 if occurrence > max_occurrence: # 비교 연산 1번 실행 max_alphabet = alphabet # 대입 연산 1번 실행 max_occurrence = number # 대입 연산 1번 실행 for char in string: # string 의 길이만큼 아래 연산이 실행 if not char.isalpha(): # 비교 연산 1번 실행 continue arr_index = ord(char) - ord('a') # 대입 연산 1번 실행 alphabet_occurrence_list[arr_index] += 1 # 대입 연산 1번 실행 max_occurrence = 0 # 대입 연산 1번 실행 max_alphabet_index = 0 # 대입 연산 1번 실행 for index in range(len(alphabet_occurrence_list)): # alphabet_array 의 길이(26)만큼 아래 연산이 실행 alphabet_occurrence = alphabet_occurrence_list[index] # 대입 연산 1번 실행 if alphabet_occurrence > max_occurrence: # 비교 연산 1번 실행 max_occurrence = alphabet_occurrence # 대입 연산 1번 실행 max_alphabet_index = index # 대입 연산 1번 실행
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-F 질문 있습니다.
#include <iostream> #include <string> using namespace std; int main() { string S; getline(cin, S); string result = ""; for (char c : S) { if (c >= 'A' && c < 'Z') { result += (((c - 'A') + 13 ) % 26) + 'A'; } else if (c >= 'a' && c <= 'z') { result += (((c - 'a') + 13 ) % 26) + 'a'; } else { result += c; } } cout << result; return 0; }이렇게 작성을 하고 실제 출력 값도 맞게 잘 나오는데 1%에서 틀렸습니다가 뜨는데 이유를 모르겠습니다...
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
침몰하는 타이타닉(그리디) 문제 질문
안녕하세요! 강의 잘 듣고 있습니다공부를 하다가 오래 고민해도 이해가 안되는 부분이 생겨서 질문 처음 남겨봅니다~ 침몰하는 타이타닉 (그리디) 문제에서 예를 들어무게가 100 90 80 80 80 80 40 30 20 10 인 10명의 사람들을 무게 한도가 140인 구명보트에 태울때강사님 풀이 대로면 100인 사람과 10 인 사람을 태우고90 인 사람과 20인 사람을 태우는 방식으로 시작해서(100,10) (90,20) (80,30) (80, 40) (80) (80) 이렇게 6개의 구명보트에 사람을 태우는데 저는 100인 사람과 40인 사람을 먼저 태워야한다고 생각을 했습니다.뭔가 강사님 풀이대로 100인 사람과 10 인 사람을 먼저 태우면 80 인 사람이 혼자 타게 되는데100이 40과 함께 타면 80 인 사람이 10 인 사람과 같이 탈 수 있으니 80은 혼자 타지 않아도 되서 cnt 가 최소가 되는게 아닌가 생각했습니다.( 즉 100 일떄 140 - 100 은 40 이니 40보다 작은 수 중에서 가장 큰 값을 구하는 방식으로 풀었습니다 이중 반복문을 사용합니다 (100, 40) (90, 20) (80, 20) (80, 10) (80) (80) ) 제가 제 방식, 강사님 방식으로 5시간정도 시뮬레이션 해 본 바로는 결국 결국 cnt는 같았습니다그런데 왜 같은지 논리적으로는 이해할 수가 없어요.. ㅠㅠ논리적으로 왜 같은지 혹시 설명해주실 수 있으실까요..
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
뮤직비디오 id 1 채점 실패
해당 케이스에서 DVD 최소 크기가 2이면, DVD의 개수는 [1, 1], [1, 1], [1] 총 3개가 되서 결과가 틀어야 하는게 아닌가 싶습니다! 제가 짠 코드로는 id 1 채점이 통과되지 않아 질문드립니다. import java.util.Scanner; public class Main { public static int solution(int n, int m, int[] arr) { int answer = 10_001; int lt = 0; int rt = 0; for (int x : arr) { rt += x; } while (lt <= rt) { int mid = (lt + rt) / 2; int midValue = mid + 1; int sum = 0; int cnt = 1; for (int i = 0; i < n; i++) { if (sum + arr[i] > midValue) { cnt++; sum = arr[i]; } else { sum += arr[i]; } } if (cnt > m) { lt = mid + 1; } else { rt = mid - 1; } if (cnt == m && answer > midValue) { answer = midValue; } } return answer; } public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int m = kb.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } System.out.print(solution(n, m, arr)); } }
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
후위식 연산(postfix) 컴파일 에러
향상된 switch문 (arrow) -> 사용했는데 컴파일 에러 나는데자바 버전 문제 때문인건가요?컴파일에러/judger/run/1d73365da4a4439f86329fcf18ad31c5/Main.java:24: error: : expected case '+' -> stack.push(lt+rt); ^
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-O 4949번 문제 질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 나름 간소화하여 풀었는데 반례를 못 찾겠습니다 ㅠㅠhttps://www.acmicpc.net/source/87277567
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-C 질문있습니다
http://boj.kr/bd886da1402c420f8b5d6e75d1cdf360 혹시 반례 부탁드려도 될까요?반례를 구한다면 어떤 방식으로 반례 값을 설정할지도 궁금합니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 불! 코드 질문있습니다
http://boj.kr/ad93c77cfed245858c644f3adb037853큰돌님 작성한 코드의 42번 if 문은 있어도 없어도 둘 다 통과하는데if 문이 없어도 되는 이유가 J 값이 처음부터 가장자리면 바로 출력하면 되는 거고 가장자리가 아니더라도53번의 if문을 통해서 fvisited 값보다 무조건 작은 jvisited 값이 가장자리까지 가는 로직이라서 그런 거죠 ??
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-G 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하십니까 선생님, 어느 부분에서 틀렸는지 도움 부탁드립니다.http://boj.kr/9f99ed1c47a842b9af37e728a08dccee
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
알고리즘
이것좀 풀어주세요 ㅜ