묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결코딩테스트 [ ALL IN ONE ]
트리 문제 질문입니다!
def LCA(root, p, q): if root == None: return None left = LCA(root.left, p, q) right = LCA(root.right, p, q) if root == p or root == 1: return root elif left and right: return root return left or righthttps://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/description/이 문제 질문드립니다.맨 밑에 코드가 이해가 안가서 질문드려요root가 q 이거나 p 이면 root를 반환하는 것 까지 이해했습니다. elif left and right: return root return left or right저 부분이 잘 이해가 안됩니다elif left and right 의 의미가 left 랑 right 둘다 존재하면 root를 반환하라는 의미인가요?그게 아니면 left 아니면 right 중 둘 중 하나 존재하는 것을 리턴하라는 의미구요 저는 자바로 하고있는데 저부분이 이해가 안가서 질문드립니다..!
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요 섹션8-16 수들의 조합 질문드립니다
function solution(k, nums, m) { const isMulti = (n, m) => { if (!(n % m)) return 1; return 0; }; let ans = 0; function DFS(L, sp, sum) { if (L === k) { console.log(L, tmp, sp, sum); if (isMulti(sum, m)) ans++; } else { for (let i = sp; i < nums.length; i++) { DFS(L + 1, i + 1, sum + nums[i]); } } } DFS(0, 0, 0); return ans; }해당 문제 시간복잡도가 궁금하여 질문드립니다.해당 문제를 선생님과 똑같이 풀이했는데요, DFS 내부 for문의 i시작점이 동적으로 변하다보니 시간복잡도를 어떻게 잡아야 할지 몰라 헷갈려 질문드려요.만일 for문의 i의 시작점이 고정적으로 0이라면 O(N^K)가 될 것 같은데,이처럼 i가 유동적으로 변하는 것으로 기존 빅오 표기에 영향이 갈만큼 차이가 발생하게 되나요?시간내어 확인해주셔서 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4659 질문드립니다.
안녕하세요 큰돌님 알고리즘 강의를 보며 많은 도움을 받고있습니다!해당 강의 보면서 조건들을 잘 맞추고 출력형식도 잘 했다고 생각했는데 제출하면 오답이네요ㅠㅜ틀린 내용을 잘 못찾겠어서 질문드립니다!시간되실때 한번 봐주실 수 있으신가요?http://boj.kr/ac9ebe891d7c4734a5f01e78a1e2d13d
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요 섹션8 DFS의 동전교환 문제 관련 질문드립니다.
function solution(coins, m) { coins.sort((a, b) => b - a); let ans = 0; function DFS(L, sum) { if (sum > m) { return; } if (sum === m) { ans = L; return "end"; } else { for (let i = 0; i < coins.length; i++) { if (DFS(L + 1, sum + coins[i]) === "end") return "end"; } } } DFS(0, 0); return ans; } 동전 교환 문제에서 강사님께서 가르쳐주신 코드도 실습해 본 후, 제 나름대로 작성해본 코드입니다. 제 얕은 생각으로는 위 코드처럼 가장 먼저 동전 종류를 내림차순으로 정렬한 후, DFS를 가지쳐 내려나간다면, 가장 큰 단위부터 적용해나가므로 맨 처음 종료조건에 도달해 ans에 대입되는 값이 무조건 최소동전 개수가 되지 않을까 생각해서 이렇게 작성했습니다.이 풀이가 틀린지 궁금하고, 만일 맞다면 시간복잡도 상 효율이 극단적으로 떨어지는 최악의 경우가 존재할 지 또한 궁금합니다.귀한 시간 내어 읽어주셔서 감사합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
동전교환문제 dfs 질문이있습니다
실행하였을 때 생각나는 테스트케이스 모두 통과되는데 오답이라고 나오는 반례가 어떤 게 있을까요?....import java.util.*; class Main{ static int number, result; static boolean check = false; boolean flag=false; public void DFS(int L,int sum, int[] arr){ if(sum>result || check) return; if(sum==result){ System.out.println(L); check = true; } else{ for(int i=0; i<number; i++) { DFS(L + 1, sum+arr[i], arr); } } } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); number =kb.nextInt(); int[] arr = new int[number]; for(int i=0; i<number; i++){ arr[i] = kb.nextInt(); } Arrays.sort(arr); int first = 0; int last = arr.length-1; while(first<last){ int ch = arr[first]; arr[first++] = arr[last]; arr[last--] = ch; } result = kb.nextInt(); T.DFS( 0 , 0,arr); } }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-f질문입니다.
일단 문제는 이해를 했는데 코드를 이해를 1도 못하겠습니다... 학교를 다니고있는데 문제를 도저히 못풀경우 해설을 듣고 이해가 될때까지 붙잡아야 하나요? 아니면 해설강의를 듣고 다른 강의를 들으러 가야하나요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1 - K의 cnt[]배열크기 질문합니다
안녕하세요 강사님!1 - K 문제에서 cnt배열의 크기를 200으로 설정하셨는데 200인 이유가 무엇인가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-A 2178 질문있습니다ㅜ
https://www.acmicpc.net/source/56777065 이 코드랑 https://www.acmicpc.net/source/57068084 이 코드의 차이점이 뭐죠.,,? 왜 하나는 맞고 하나는 틀릴까요 ? ㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1 - I문제 return에 대해서
안녕하세요 강사님.포켓몬스터 이다솜 문제에 대한 강의와 답지에 나와있는 코드에는 return 0;이 없는데, return 0;을 넣어서 코드를 작성하면 틀리게 되는것인가요? return 0;이 없는 이유가 궁금합니다.또한, cout << mp[s] << "\n"; 에서 '\n'으로 작성하여 제출해도 정답이라고 나오는데 "\n"과 '\n'의 차이가 무엇입니까?추가적으로 cout << "DA\n"; 과 cout << "DA" << '\n'; 의 차이는 무엇인가요??
-
미해결코딩테스트 [ ALL IN ONE ]
강의 교재 질문드립니다.
강의 교재 [노션 공유] 에 대해 궁금하여 질문 남깁니다.- 구글 폼을 이용하여 신청을 하였는데 노션을 해당하는 메일과 인프런 계정 이메일에도 메일 수신을 확인이 안되어 어떤 경로로 보내주시는 건지 궁금하여 글 남김니다 .
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
C++에서 띄어쓰기 포함한 여러줄을 파일에 쓰기!(읽기가 아닌 쓰기!)로 하려는 경우가 궁금합니다.
#include <iostream>#include <fstream>using namespace std;int main() {char name[10], dept[30];int sid;//키보드로부터 읽기cout << "이름 >>";cin >> name;cout << "학번 >>";cin >> sid;cout << "학과 >>";cin >> dept;//파일 열기. students.txt 파일을 열고, 출력 스트림 생성ofstream fout("c:\\temp\\student.txt");if (!fout) {cout << "c:\\temp\\student.txt 파일을 열 수 없다.";return 0;}//파일 쓰기fout << name << endl;fout << sid << endl;fout << dept << endl;fout.close();}예제인데요.학과명을 예를들어 information security라고 입력한다고 하면 어떻게 수정해야 하나요?입력받는 문자들을(띄어쓰기 포함)파일에 쓰고 저장하는 경우가 정말 정말 궁금합니다.감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 코드에서 a[101][101], visited[101][101] 에서 범위를 a[104][104], visited[104][104] 로 하면 틀렸다고 나오던데 범위를 딱 맞춰서 지정해 줘야 하나요?
-
해결됨Do it! 알고리즘 코딩테스트 with JAVA
영상과 제목이 일치하지 않습니다.
안녕하세요. 하루코딩님강의제목과 영상 내용이 일치하지 않아 게시글 남깁니다.[구간 합 실전 문제] 연속된 자연수의 합 구하기 (백준 2018)[투포인터 실전 문제] 연속된 자연수의 합 구하기 (백준 2018)로 변경되어야 할거 같습니다.^^ 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3 - D 어떤 부분이 잘못된 건지 봐주세요
http://boj.kr/a87bcdc8a73f4c8d8cc5e8f31aebfe75로직은 선생님과 동일한데요 자잘한 것 3 개만 바꿨습니다.in 함수 -> underOver 함수맵 초기화시 'J'인 경우 지훈이의 체크 배열[i][j] = 1선생님은 맵 초기화시 할당하지 않고 지훈이의 최단 거리를 돌리기 직전에 할당하셨어요.지훈이의 처음 좌표 tie(y, x)로 추출선생님은 새롭게 변수를 선언하고 초기화하셨어요.int y = q.front().first();int x = q.front().second();어떤 곳이 틀린 걸까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
다른 방법으로 풀었는데, 이 풀이는 어떤지 봐주세요!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/5dddfe26673043e9aa9259cd51a464e9 처음으로 강의 안보고 백준 문제 정답에 성공했습니다.기쁜 마음으로 강사님의 풀이법과 비교해보려고 영상을 봤는데 저랑은 완전히 다른 방식으로 푸셨더라구요. 제가 푼 방식은 어떤지 궁금합니다! 그리고 다른 사람의 풀이를 봤을 때 어떤 풀이가 더 좋은 풀이인지를 볼줄 아는 시야가 필요할 것 같은데, 그부분은 어떻게 연습해야 키워질 수 있을까도 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-O stack 이용하여 좀 다르게 풀어봤는데 무엇이 틀렸는지 모르겠습니다 ㅠ
강사님 안녕하세요,4-O 현욱은 괄호왕이야 문제를 아래와 같이 풀었는데요http://boj.kr/5193238e46f444fd8145ad178aa4a8d5stack 을 이용해서 pop 이 발생한 횟수를 pop_cnt 에 갱신올바른 문자열이 끊기는 지점에서 pop_cnt 를 결과값 vector 에 push_back 하고 pop_cnt = 0 초기화전체 문자열을 탐색 하고 난 후결과값 vector 에 쌓여있는 값 중 최댓값을 산출올바른 문자열의 길이는 pop 이 발생한 횟수의 2배이므로pop_cnt 의 최댓값에 2배를 출력놓친 부분이 있는지 문제 pass 를 못하고 있습니다...무엇이 문제일까요 ㅠ
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션4-1번 문제 에러의 원인?
안녕하세요 강사님! [섹션4. 이분탐색&그리디 알고리즘]단원에 1번문제[이분검색]를 풀다가 궁금한점이 생겨서 질문 남기게되었습니다.저는 함수를 만들어서 코드를 구현했는데요, 여기서 에러가 뜨더라구요 .. 찾아보니까 'None' 타입인 값에 인덱스로 접근하려고 해서 발생한 에러라고 나오는데, 며칠 공부했는데도 제가 작성한 코드에서 어떻게 수정해야할지 모르겠어서 질문 드리게되었습니다. 아래는 제가 처음에 풀었던 풀이입니다. 답변 주시면 감사하겠습니다. def binary_search(target, array, s, e): array = array.sort() mid = (s+e)//2 if s > e : # 애초에 성립 불가한 경우 return None if array[mid] == target : # (1) 타겟값을 찾은 경우 return mid elif array[mid] > target : # (2) 중간값이 타겟값보다 큰 경우 return binary_search(target, array, start, mid-1) else: # (3) 중간값이 타겟값보다 작은 경우 return binary_search(target, array, mid+1, end) N, M = map(int, input().split()) array = list(map(int, input().split())) res = binary_search(M, array, 0, N-1) print(res+1)
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션 6 ( 1.올바른 괄호 <스택> ) 질문입니다!
아래는 올바른 괄호(스택) 문제 답안 코드입니다.Q. 만약 주어진 let = a가 "(" 이게 아닌 ")" 이걸로 시작하면 답안 같은 경우는 무조건 NO가 나와버리는데문제가 "(" 이걸로 시작해서 문제를 감안해서 ")" 이걸로 시작하는 경우는 배제하고 답안을 도출하신 걸까요?다른 이유나, 제가 이해 못 한 부분이 있는 건가 싶어서 여쭤봅니다 ! function solution(s){ let answer="YES"; stack=[]; for(let x of s){ if(x==='(') stack.push(x); else{ if(stack.length===0) return "NO"; stack.pop(); } } if(stack.length>0) return "NO"; return answer; } let a="(()(()))(()"; console.log(solution(a));
-
해결됨Do it! 알고리즘 코딩테스트 with JAVA
리스트 질문
안녕하세요. 하루코딩님여기서 설명하시는 리스트는 Java의 LinkedList로 이해하면 될까요? 감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
코드 관련 질문입니다!
#include <bits/stdc++.h> using namespace std; long long a, b, c; long long multi(long long num) { if (num == 1) { return a % c; } long long sum = (multi(num / 2) * multi(num / 2)); if (num %2) sum*=a%c; return sum % c; } int main() { cin >> a >> b >> c; cout << multi(b); }재귀함수 코드를 위와 같이 작성해서 제출했는데 틀렸습니다가 나왔습니다. 하지만 long long sum~ 여기 줄에서 마지막에 c로 나눠주면 통과가 됩니다. 저는 어차피 마지막에 한번 c로 나눠주어 리턴하기 때문에 문제가 안될 거라고 생각했는데 홀수인 경우에 a%c를 한번 더 곱하면 범위를 넘어서서 틀리는 건가요??