묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
이 코드가 왜 틀렸는지 궁금합니다
일단 오류를 찾아서 고쳐 정답이 맞긴 했습니다.그런데 아무리 봐도 이해가 안돼서 질문글을 남깁니다.고친부분은 dfs함수에 ret을 전역변수가 아닌 지역변수로 바꾼건데 전역변수로 되어있다해도 함수 시작시 초기화를 해주는데 의미가 있나요? https://www.acmicpc.net/source/76553884
-
해결됨코딩테스트 [ ALL IN ONE ]
디스코드 초대장이 올바르지 않다고 뜹니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-J 질문
안녕하세요 강사님 해당 문제를 강사님과 동일한 방법으로 푸는데 배열 a가 [100][100]이면 틀렸다고 나오더라구요입력은 s를 통해 받고 저장은 a에다 해서 버퍼 문제가 없을거 같은데 왜 틀리는건가요….?
-
미해결눈떠보니 코딩테스트 전날
코딩 처음인데 환경 세팅을 어떻게하는지 모르겠어요
VScode만 써봤는데 다른것 같더라고요. 어떤 환경에서 코딩하는건지 설명해주는 영상은 없나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-M 질문드립니다.
안녕하세요 큰돌 강사님 v[y-1][x-1].push_back(z); 로 하면 틀리는 이유를 알고 싶습니다. 입력으로 들어오는 x가 열 아닌가요?? 처음 두 개의 정수는 나무의 위치 (x, y)를 의미하고, 마지막 정수는 그 나무의 나이를 의미한다 답변 미리 감사드립니다 😄
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
index 와 max, min 함수로 풀어도 시간상 상관없는 걸까요?
l=int(input())a=list(map(int,input().split()))m=int(input())for i in range(m): #print(a.index(max(a)),a.index(min(a)),max(a),min(a)) a[a.index(max(a))]-=1 a[a.index(min(a))]+=1print(max(a)-(min(a)) ) 이렇게 간단하게 풀었는데 혹시 값이 많아지면 이게 sort보다 시간이 더 오래 걸리게 될까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
no such
zsh: parse error near `\n'(base) mongsil@sinjihwan-ui-MacBookAir ~ % cd /usr/local/includemkdir bitscd bitsvi stdc++.hcd: no such file or directory: /usr/local/include(base) mongsil@sinjihwan-ui-MacBookAir bits % clang --versionApple clang version 14.0.3 (clang-1403.0.22.14.1)Target: arm64-apple-darwin22.5.0Thread model: posixInstalledDir: /Library/Developer/CommandLineTools/usr/bin(base) mongsil@sinjihwan-ui-MacBookAir bits % clang++ -vApple clang version 14.0.3 (clang-1403.0.22.14.1)Target: arm64-apple-darwin22.5.0Thread model: posixInstalledDir: /Library/Developer/CommandLineTools/usr/bin(base) mongsil@sinjihwan-ui-MacBookAir bits % ~/Library/Application Support/Code/User/settings.jsonzsh: no such file or directory: /Users/mongsil/Library/Application(base) mongsil@sinjihwan-ui-MacBookAir bits % cd /usr/local/includemkdir bitscd bitsvi stdc++.hcd: no such file or directory: /usr/local/include
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다.
영상 안 보고 풀어봤는데 while문 하나로만 풀었습니다. 부탁드려요// N일 동안 매출기록을 주고 연속된 K일 동안의 최대 매출액이 얼마인지 구하라. function solution(n = 0, k = 0, arr = []) { let answer = 0; let left = 0; let right = 0; let sum = 0; while (right < n) { // 0~k-1 까지 right로만 움직임. if (right < k) { sum += arr[right++]; answer = sum; } else if (right >= k) { sum -= arr[left++]; sum += arr[right++]; if (sum > answer) answer = sum; } } return answer; } console.log(solution(10, 3, [12, 15, 11, 20, 25, 10, 20, 19, 13, 15])); // 56 // 11 20 25 => 56
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
스도쿠 검사 코드 확인
저는 처음 풀 때 겹치면 안되는 조건때문에 set으로 했고 이전에 배운 dx dy를 사용하여 칸마다 계산하는 것을 했는데 혹시 이런 방식도 되는지 여쭤봐도 될까요? a=[list(map(int,input().split())) for _ in range(9)]dx=[0,3,6,0,3,6,0,3,6]dy=[0,0,0,3,3,3,6,6,6]for i in range(9): b=set() c=set() for j in range(9): b.add(a[i][j]) c.add(a[j][i]) if len(b)!=9 or len(c)!=9: print("NO") break d=set() for k in range(3): #가로 for l in range(3): #세로 d.add(a[k+dx[i]][l+dy[i]]) if len(d)!=9: print("NO") breakelse: print("YES")
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2 - P 질문
http://boj.kr/ce16c6cbdf114d2dab3f3a8f44c9c285안녕하세요 강사님2-P 문제를 강사님의 풀이와는 달리 for 중첩문이랑 처음 입력한 mp배열을 복사해서 풀이할 temp배열을 만들어서 풀어봤는데 몇몇 예제에서 오답이 나와서 질문 드려요ㅠㅡ
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
10나누기와 0.1 곱하기의 차이 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. round가 round half even 방식이라 짝수값에서 내림을 하는 것은 이해 했고 소수 첫째 자리에서 반올림 하고 싶으면 0.5를 더하고 int 로 감싸서 몫을 구하는 것을 이해했습니다. 소수 두 번째 자리도 시도해 보는 도중 정수에 10을 나누는 것과 0.1을 곱하는 것의 결과가 다르다는 것을 알게 되었습니다.혹시 다른 이유가 무엇인지 알 수 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-O
큰돌님 안녕하세요.강의 잘 듣고 있습니다. 제 나름대로 고민해보고 풀어 제출하였는데 Segementation fault가 뜹니다.반례를 찾으려고 노력했지만 어느 부분이 문제인지 잘 모르겠습니다.도움 좀 부탁드리겠습니다 ㅠㅠ http://boj.kr/38620660c1684a9f96e362ffbdb9ebc4
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
채점 프로그램 작동 안함
채점 프로그램을 돌리면 이렇게 뜨는데 해결 방법이 있을까요? 처리되지 않은 예외: System.AggregateException: 하나 이상의 오류가 발생했습니다. ---> System.IO.IOException: 파이프가 끝 났습니다. 위치: System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 위치: System.IO.__Error.WinIOError() 위치: System.IO.FileStream.FlushOSBuffer() 위치: System.IO.FileStream.<>c.<FlushAsync>b__117_0(Object state) 위치: System.Threading.Tasks.Task.InnerInvoke() 위치: System.Threading.Tasks.Task.Execute()--- 예외가 throw된 이전 위치의 스택 추적 끝 --- 위치: System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 위치: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 위치: System.IO.StreamWriter.<FlushAsyncInternal>d__68.MoveNext()--- 예외가 throw된 이전 위치의 스택 추적 끝 --- 위치: System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 위치: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 위치: System.IO.StreamWriter.<WriteAsyncInternal>d__55.MoveNext() --- 내부 예외 스택 추적의 끝 --- 위치: System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken) 위치: System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout) 위치: Judge.Program.Main(String[] args)
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
왜 8 2 10 1 4 6 7 10 이 되나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. pair 정렬을 예제로 하신 거 같은데, 출력시켜봤을 때 저는 아래처럼 나오고 있습니다. 1 8 2 2 3 9 4 1 6 4 7 6 9 7 10 10그런데 강의에는8 2 10 1 4 6 7 10 이렇게 나와있는데..왜 저런 정렬결과가 나오는지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
모든 경우의수를 구해보는 방식
선생님, 안녕하세요.괄호추가하기 문제를 풀어보고 있습니다.bfs는 아니고, 큐를 이용하기는 하는데 visited를 이용하지 않게 문제를 풀고 있어요.전략은 처음에 큐에 식을 넣고,큐에서 뺄 때, 수식을 계산한다음, 앞에서부터 괄호를 칠 수 있는 부분에 하나씩 괄호를 치고 넘기고. 이걸 반복하고 있습니다. 예를 들면, 9 3+8*7-9*2를 입력했을 때,3+8*7-9*2 (3+8)*7-9*2 3+(8*7)-9*2 3+8*(7-9)*2 3+8*7-(9*2) (3+8)*(7-9)*2 (3+8)*7-(9*2) 3+(8*7)-(9*2) 이런식으로 해서 모든 경우의 수를 구해서 비교하는 방식으로 하고 있는데요.예제는 잘 통과하는데, 제출하면 틀리네요...한번 봐주시고, 의견주시면 감사하겠습니다.또, 어떤 반례가 있을까요??http://boj.kr/0fced5587b8a4c5eb38406042eff5d6d 감사합니다~!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-D 질문드려요 (메모이제이션)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 잘듣고있습니다.! 메모이제이션 부분이 이해가 잘 안되서 질문드립니다.dp에 어떤 값이 들어가 있을 때 재귀 호출하지 않고 dp에 담겨져 있는 값을 리턴하는 것에 대한 추가 설명 가능할까요? #include <bits/stdc++.h> using namespace std; int T, W; vector<int> I; int mx = 0; int DP[1001][3][31]; // tree: 트리번호 // cnt: 움직인 횟수 int go(int idx, int tree, int cnt){ int another_tree; if (tree==1) another_tree =2; else another_tree =1; if (idx == T) return 0; // 기저사례 int &ret = DP[idx][tree][cnt]; // 메모이제이션 if (ret) return ret; if (cnt > 0) ret = max(go(idx+1, another_tree, cnt-1), go(idx+1, tree, cnt)) + (tree == I[idx]? 1:0); else ret = go(idx+1, tree, cnt) + (tree==I[idx]? 1:0); return ret; } int main(){ cin.tie(NULL); cout.tie(NULL); ios_base::sync_with_stdio(false); cin >> T >> W; I = vector<int>(T,0); for(int i =0 ; i < T; ++i){ cin >> I[i]; } cout << max(go(0, 2, W-1), go(0, 1, W)); return 0; } dp에 어떤값이 들어가있다는 것은 이미 한번 수행한 이력이 있는 정점이라는 의미로, 더 이상 아래 정점을 탐구할 필요가 없다 라는 의미겠는데.., 완전히 이해를 하지 못하여 질문드려요
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-C 질문
안녕하세요 선생님! 항상 수업 잘 듣고 있습니다다름이 아니라 저는 dp에 값이 있으면은 사이클이 생긴다는 가정으로 최대숫자를 반환해서 처리하였는데요.몇 번 시도하였는데 계속 틀림이 뜨네요 ^^;http://boj.kr/56bf4bf2cf4d411fb652d50f54160a7e그래서 선생님 답안을 보았는데 visited 배열을 따로 만드시고 나중에는 방문 미처리를 해주셨더라고요. 나중에 방문 미처리 해주시는 것이 이해가 잘 안가 왜 그렇게 해주셨는지 궁금합니다! 미리 감사드립니다~ 🙇♀
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
43번 이진검색에 대한 문의
문제가 순서가 바뀌는 것이 불가능하다고 나와있습니다.이분검색은 정렬된 자료를 이용해서 정렬하는것으로 알고 있는데 만약 곡 시간이 432324 이렇게 나와있다면 이분검색 자체를 못하는것 아닌가요???
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2 - O 질문
http://boj.kr/c19ff269920c4179b4e924f04e342db4안녕하세요 강사님 2 - O 문제를 2 - N 을 보고 비슷하게 풀어보려고 하는데 자꾸 segfault가 떠서 질문 드립니다. 혹시 stk에서 stk.top()함수가 빈 stk을 참조해서 이런 문제가 발생하나 해서 empty함수를 추가했는데도 같은 결과만 나오네요ㅠ
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드리뷰 부탁드립니다!
// 자릿수끼리의 합이 제일 많은 것을 출력. // 같은 경우 원래 숫자가 더 높은 쪽을 출력 function solution(n = 0, arr = []) { let answer = 0; let max = Number.MIN_SAFE_INTEGER; const splitNums = arr.map((val) => (val + "").split("")); for (let i = 0; i < splitNums.length; i++) { const temp = splitNums[i].reduce((prev, cur) => +prev + +cur, 0); if (temp > max) { max = temp; answer = arr[i]; } else if (temp === max) answer = arr[i]; } return answer; } console.log(solution(7, [128, 460, 603, 40, 521, 137, 123])); // 137 혼자 풀어봤습니다.. for문 안에 배열 메서드가 들어가는게 좀 이상한 것 같은데 이렇게 써도 무방한지 여쭙고싶습니다.혹은 수정할 점이 있다면 조언해주시면 감사하겠습니다!