묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
split함수 질문
이거 그냥 눈감고 쓸수있을정도로 외워야하나요?? 개념은 이해되는데 흐음
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-c 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강의해주신 코드 보면 19번 라인에 int &ret = d[y][x];를 하셨는데 왜 int ret이 아닌 주소연산자를 사용하신건가요??제가 기초가 부족해서 그런지 코드 흐름이랑 알고리즘은 이해가 다 되는데 저런 세세한게 가끔씩 이해가 잘 안되네요...
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 반례 질문입니다.
안녕하세요 큰돌님, 3-D문제를 최단거리를 구하고 계산하는 방식 말고 1분동안 지훈 이동후, 불이동 이렇게벽 끝쪽에 갈때까지 반복문을 돌리고 반복문이 끝나면걸린시간을 출력하게 했습니다.만약, 반복문이 끝났음에도 지훈이가 벽끝 쪽으로 가지 못한다면 IMPOSSIBLE"을 출력하도록 했습니다.하지만, 2%에서 틀립니다. 반례가 무엇인지 궁금합니다...https://www.acmicpc.net/source/61254593
-
미해결코딩테스트 [ ALL IN ONE ]
LIFO 2번째 문제의 시간복잡도
좋은 강의 감사합니다. LIFO 2번째 문제는 for문 안에 while문이 들어가 있기 때문에 시간복잡도가 O(n^2)인 것 같다는 생각이 드는데요. 전체 시간복잡도가 왜 O(n)인지 설명을 부탁드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
return 0;는꼭 써야하나요?
함수 종료시킨다는건 알겠는데딱히 종료안시켜도 문제없는 로직같은경우엔 안써도 되나요? 아니면 메인에선 무조건 써주는게 맞나요?
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션 3, 숫자만 추출 문제(정답 확인 부탁 드립니다.)
안녕하세요 선생님 !섹션 3번 - 숫자만 추출 문제를 이렇게 풀어도 괜찮을지 확인 한번 부탁 드리겠습니다.그리고 혹시 이런 문제들의 경우 정규식 보다는 이렇게 탐색하고 푸는게 더 좋은 풀이 방식인건가요??<html> <head> <meta charset="UTF-8"> <title>출력결과</title> </head> <body> <script> function solution(str){ let answer = ""; for(const a of str){ if(!isNaN(a)){ if(answer[0] !== undefined) answer += a; else if(a > 0) answer += a; } } return answer; } let str="g0en2T0s8eSoft"; console.log(solution(str)); </script> </body> </html>
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
왜 그리디를 디피보다 앞선 주차에 넣으신지 궁금합니다
제목이 내용입니다
-
미해결자바 코딩테스트 - it 대기업 유제
[3.자료구조 활용 - 5번 cpu스케쥴링] 입력예제 1번 설명 확인
안녕하세요. 김태원 강사님![질문]입력예제 설명에 오타가 있는 것 같아서 확인 차 문의드립니다.[문제]3.자료구조 활용 챕터에 5번 cpu스케쥴링문제입력예제 1번 설명 :1초에 1번 작업을 실행해서 3초에 끝냅니다.3초에 3번 작업을 실행해서 4초에 끝냅니다.4초에 2번 작업을 실행해서 6초에 끝냅니다.-> (확인필요) 4초에 0번 작업을 실행해서 7초에 끝냅니다.6초에 0번 작업을 실행해서 9초에 끝냅니다.-> (확인필요) 8초에 2번 작업을 실행해서 10초에 끝냅니다. [요청]입력예제 1번 설명에 '(확인필요)표시한 부분의 설명'이 맞는 지 답변 부탁드립니당! ps. 코딩테스트 준비가 막막했는데 강사님의 좋은 강의 덕분에 준비할 수 있게 되어서 너무 감사합니다 :)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-S 맞왜틀 질문입니다.
http://boj.kr/2a352c064de74fceac1f3b23cfdb40c347번째줄~52번째 줄까지 제가짠 로직인데벡터에(자식수, 노드번호)를 넣고max값과 같은 노드번호(second)들만 출력하도록 하였는데틀렷습니다 가 뜹니다. 도와주세요. 저부분만 강사님 로직으로 교체했을때는 통과되는데 뭐가 틀렷는지 모르겠습니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
왜 int를 안쓰고 전부 longlong으로 하신지 궁금합니다
헷갈리니까 그렇게 하는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3#1 if(n%2==)return 0 하고 다음에 i=2로 같은 작업을 반복할필요 없지않나요
for(int i=3으로 해도 되는데 그냥 i=2로 쓰신건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
각 주차별 문제의 시간복잡도
각 주차별 문제들의 시간 복잡도는 안알려주시는 건가요?제가 계산한 게 맞는지 확인하고 싶어서 그렇습니다!
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션 2, 1,2차원 탐색(봉우리)
선생님 안녕하세요 문제를 푸는 과정에서 궁금한 점이 생겨서 질문 드립니다.먼저 저는 문제에서 힌트를 얻어 기존의 배열의 테두리에 0을 추가해주고 풀었습니다.근데 arr.push / arr.unshift를 통하여 배열 상하단에 [0,0,0,0,0]으로 된 배열을 추가하고 난 뒤배열 안의 arr[i]의 배열에도 push, shift를 통해 0을 추가해줬습니다. 이 과정에서 동일하게 for문을 진행했는데추가해준 첫번째, 마지막 배열의 길만 9개가 되는데 왜 그런지 이유를 잘 모르겠습니다.다른 배열들은 push, unshift가 한번씩만 된 거 같은데, 추가해준 배열만 2번씩 된 거 같습니다. 이유가 무엇인지 알 수 있을까요?? 제가 잘못한 부분이 있는걸까요??<html> <head> <meta charset="UTF-8"> <title>출력결과</title> </head> <body> <script> function solution(arr){ let answer = 0; let newArr = new Array(arr.length).fill(0); arr.push(newArr); arr.unshift(newArr); for(let i=0;i<arr.length;i++){ arr[i].push(0); arr[i].unshift(0); } for(let i=0;i<arr.length;i++){ for(let j=0;j<arr[i].length;j++){ let res = arr[i][j]; if(i !== 0 && i !== arr.length - 1 && j !== 0 && j !== arr[i].length - 1){ if(res > arr[i+1][j] && res > arr[i-1][j] && res > arr[i][j+1] && res > arr[i][j-1]){ answer += 1; } } } } console.log(arr) return answer; } let arr = [ [5,3,7,2,3], [3,7,1,6,1], [7,2,5,3,4], [4,3,6,4,1], [8,7,3,5,2] ] console.log(solution(arr)) </script> </body> </html>
-
해결됨Do it! 알고리즘 코딩테스트 with JAVA
집합 표현하기(백준 1717) union 함수 질문
안녕하세요 강의 잘 보고 있습니다.강의를 보다가 질문이 생겨 질문드립니다.강의 영상에서 union 함수에서 a,b의 크기와 상관없이 a와 b가 다르다면 parent[b] = a; 라고하시는데이렇게 해도 되는 이유가 어차피 나중에 find 함수의 재귀함수부분 return parent[a] = find(parent[a]); 에서 경로 압축이 되기 때문에 크기 상관없이 parent[b] = a; 선언 해주신 건가요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. const input = `15 BACBACCACCBDEDE`.split('\n'); let arr = input[1].split(''); function solution(arr){ let studentMap = new Map(); let winner = ''; let maxNum = 0; for(let i = 0; i < arr.length; i++){ studentMap.set(arr[i], studentMap.get(arr[i]) +1 || 1); } let studentArr = [...studentMap] studentArr.forEach(arr => { if(arr[1] > maxNum){ maxNum = arr[1]; winner = arr[0]; } }) return winner; } console.log(solution(arr));
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. const input = `10 3 12 15 11 20 25 10 20 19 13 15`.split('\n'); let M = Number(input[0].split(' ')[1]); let arr = input[1].split(' ').map(str => Number(str)); function solution(arr){ let sumArr = []; let sum = 0; for(let i = 0; i < M; i++){ sum += arr[i]; } sumArr.push(sum); for(let j = M; j < arr.length; j++){ sum += arr[j]; sum -= arr[j-M]; sumArr.push(sum); } return Math.max(...sumArr); } console.log(solution(arr));
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이 코드도 괜찮을까요 ?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. const input = `5 5 1 3 1 2 3`.split("\n"); let M = Number(input[0].split(" ")[1]); let arr = input[1].split(" ").map((str) => Number(str)); function solution(arr) { let count = arr.filter((num) => num <= M).length; // 5 let p1 = 0; let p2 = 1; let sum = arr[p1] + arr[p2]; // 4 while (p1 !== p2) { if (sum < M) { count++; p2++; sum += arr[p2]; } else if (sum === M) { count++; sum -= arr[p1]; p1++; } else if (sum > M) { sum -= arr[p1]; p1++; } } return count; } console.log(solution(arr));
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이 코드도 괜찮을까요 ?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 수업해주셨던 코드랑 다른건 없을까요 ? const input = `8 6 1 2 1 3 1 1 1 2`.split("\n"); let M = Number(input[0].split(" ")[1]); let arr = input[1].split(" ").map((str) => Number(str)); function solution(arr) { let p1 = 0; let p2 = 1; let sum = arr[p1] + arr[p2]; let count = 0; while (p2 < arr.length) { if (sum < M) { p2++; sum += arr[p2]; } else if (sum > M) { sum -= arr[p1]; p1++; } else if (sum === M) { sum -= arr[p1]; p1++; count++; } } return count; } console.log(solution(arr));
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문있습니다!!
안녕하세요 선생님 저는 59번 문제를 참고하여 진행을 하였습니다. 제가 작성한 코드중에서 뭐가 틀린건지 봐주시면 감사드리겠습니다.틀린 부분을 잘 몰라 질문 올립니다.#include <iostream> #include <vector> using namespace std; int n, tatal = 0; int ch[11]; int a[11]; void DFS(int L, int sum) { int sum2 = 0; if (L == n + 1) { for (int i = 1; i <= n; i++) { if (ch[i] == 1) { sum = sum + a[i]; } if (ch[i] == 0) { sum2 = sum2 + a[i]; } } if (tatal - sum == sum2) { cout << "YES"; } else { cout << "NO"; } } else { ch[L + 1] = 1; DFS(L, sum); ch[L + 1] = 0; DFS(L, sum + a[L]); } } int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; tatal = tatal + a[i]; } DFS(1, 0); //시작점 합 }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
unique 교안 s 벡터 erase 질문
vector<int> s {4, 3, 3, 5, 1, 2, 3};s.erase(unique(s.begin(),s.end()),s.end());for(int i : s) cout << i << " ";의 결과가4,3,5,1,2(,2,3 제거) 이렇게 되어야 하지 않나요?왜 4,3,5,1,2,3으로 나오는 건지 잘 모르겠습니다.