묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
#3-D 반례 질문
http://boj.kr/be44657dbfb64b30ace731e5969c07713-D 번 문제 질문드립니다계속해서 84%에서 틀렸다고 해서 많은 반례들을 넣어봤는데도 해결이 되지 않아 질문드립니다. 제가 풀이한 방식은 우선 선생님처럼 사람 visited 배열, 불 visited 배열 두가지를 만들어 따로 처리해주었고, 하나의 queue를 이용하여 먼저 불을 넣고 그 다음 사람을 넣어서 while 루프를 돌려서 최단거리를 찾았습니다.만약 사람이 이동하는 곳에 불이 이미 있으면 이동하지 않고, 불이 없고 벽도 없을경우 이동하고 만약 이동한 곳이 가장자리이면 탈출하여 최단거리를 출력하는 방식입니다. 또한 bfs이므로 가장 처음 나오는 답이 최단거리라 판단하여 곧바로 break를 걸고 출력하였습니다.
-
미해결코딩테스트 [ ALL IN ONE ]
직장인 취미 코딩
안녕하세요. 수고많으십니다.현재 코딩과 전혀 관련없는 직종으로 일하고있습니다. 취미정도로 배운지 1달정도 되었습니다. 오늘 cos pro 1급 파이썬 시험을 봤는데 너무 어렵더라구요. 기출 문제 위주로 나온다고해서 외워서 갔는데 전혀 다른 문제들이 나와서 당황했습니다..제가 지금 신청한 강의 꾸준히 익혀서 마스터하면 엥간한 문제들 푸는데 지장 없는지 궁금하네요.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-h
선생님 수업 잘듣고있습니다. 다름이 아니라 선생님께서 푸신 방법 말고 if(!visited[next]){ q.push(next); visited[next]=visited[now]+1; cnt[next]+=cnt[now]; v[next].push_back(now); }이런식으로 인접 리스트를 만들어서 구현을 해보고싶은데 계속해서 에러가 발생됩니다. 도와주실 수 있으신가요? 감사합니다
-
해결됨코테 출제자가 알려주는 [코딩 테스트 with 파이썬]
upper_bound : int) -> int:
안녕하세요 강사님이분탐색-1의 def calculate_needed_budget(upper_bound:int ) -> int: 에서 upper_bound : int) -> int: 이 부분이 이해가 안갑니다.상한금액이 정수면 정수로 나오게 하라는건가요..?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션1-8 일곱난쟁이 문제 질문
안녕하세요. 강의 코드와 결과가 이해가 되지 않아 질문드립니다. for (let i = 0; i < 8; i++) { for (let j = i + 1; j < 9; j++) { if (sum - (arr[i] + arr[j]) === 100) { arr.splice(j, 1); arr.splice(i, 1); } } }중첩 for문 중에서 내부에서 조건문을 사용해서 참일 경우 배열에 splice를 통해 요소를 제거를 해주는 코드에서 의문이 생겼습니다.중첩 for문이기 때문에 외부 for문에서 i=0 으로 시작하여 내부 for문으로 이동j=i+1 이므로 배열의 0번째 인덱스 요소를 기준으로 1번째 인덱스 요소부터 j<9 요소까지 탐색탐색 중 if (sum - (arr[i] + arr[j]) === 100) 조건에 참인 요소가 있다면 splice 메서드를 통해 제거, j<9 요소까지 탐색을 마쳤다면 내부 for문 종료다시 외부 for문으로 이동하여 i=1 로 증감 후 다시 내부 for문 실행..저는 이와 같은 절차를 가진다고 생각하는데요, 3번 절차에서 조건에 참인 요소가 있다면 splice 메서드를 통해 제거가 되므로 21과 19가 제거 되는것은 이해가 되는데 왜 15와 25까지 함께 제거가 되는지 의문입니다! 21과 19가 제거된 상태라면 (sum - (arr[i] + arr[j]) === 100) 조건에 참일 수가 없을 거 같아서요.결론은 중첩 for문인데 21과 19 그리고 15와 25까지 함께 제거가 되는지 의문입니다!감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 질문있습니다
안녕하세요, 큰돌님강의와 비슷한 로직인것 같은데, 메모리초과 되어 질문합니다!메모리초과가 나는 이유를 모르겠습니다ㅣ. K가 10일때, 2^1024만큼 go함수를 호출해서 틀린건가 싶기도 합니다...
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
해당 풀이의 런타임 질문드립니다
안녕하세요.해당 문제와 유사한 문제를 찾아서 복습을 하고 있었는데, 런타임 에러라고 뜨는데요, 무엇이 문제인지 확인 부탁드려도 될런지요.인프런은 아니고 해당 문제와 유사한 문제를 찾아풀고 있던 타사이트라고, 송구스러운데요.참고로 제 브이에스코드를 이용했을 땐 콘솔에 답이 출렵됩니다. 다만 해당 사이트에서 풀때는 런타임에러라고 합니다.강사님 풀이와 동일하게 풀었는데, 제가 무엇을 놓쳤는지 궁금해서 문의드려봅니다.https://leetcode.com/problems/merge-two-sorted-lists/description/ var mergeTwoLists = function(list1, list2) { let answer = []; let n = list1.length; let m = list2.length; let p1 = (p2 = 0); while (p1 < n && p2 < m) { if (list1[p1] <= list2[p2]) answer.push(list1[p1++]); else answer.push(list2[p2++]); } while (p1 < n) answer.push(list1[p1++]); while (p2 < m) answer.push(list2[p2++]); return answer; }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[2-D] 답안 관련 질문
안녕하세요. 강사님2-D 답안을 보면서 질문이 있습니다.해설 강의에서 설명한 DFS 반환값 설정과 DFS 로직은 이미 이해한 상태에서 해당 문제를 접했는데요.제가 답안을 보고 수정 및 작성한 코드는 아래입니다./* 답 : http://boj.kr/9815cd371fe643f59ac17a410e0cfca4 */ #include <bits/stdc++.h> using namespace std; int M, N, K; int m[104][104]; bool visited[104][104]; vector<tuple<int, int, int, int>> c; int dx[4] = {1, 0, -1, 0}; int dy[4] = {0, 1, 0, -1}; int dfs(pair<int, int> node) { int count = 1; visited[node.first][node.second] = true; for(int i = 0; i < 4; i++) { int nx = node.first + dx[i]; int ny = node.second + dy[i]; if(nx < 0 || nx >= N || ny < 0 || ny >= M) continue; if(!m[nx][ny] && !visited[nx][ny]) count += dfs({nx, ny}); } return count; } int main(void) { cin >> M >> N >> K; for(int i = 0; i < K; i++) { int x1, y1, x2, y2; cin >> x1 >> y1 >> x2 >> y2; c.push_back({x1, y1, x2, y2}); } fill(&m[0][0], &m[0][0] + 104 * 104, 0); for(int i = 0; i < N; i++) for(int j = 0; j < M; j++) for(int k = 0; k < K; k++) if(get<0>(c[k]) <= i && i < get<2>(c[k]) && get<1>(c[k]) <= j && j < get<3>(c[k])) m[i][j] = 1; // for(int i = 0; i < N; i++) // { // for(int j = 0; j < M; j++) // cout << m[i][j]; // cout << '\n'; // } int component = 0; vector<int> area; for(int i = 0; i < N; i++) for(int j = 0; j < M; j++) if(!m[i][j] && !visited[i][j]) { component++; area.push_back(dfs({i, j})); } sort(area.begin(), area.end()); cout << component << '\n'; for (int i = 0; i < area.size(); i++) cout << area[i] << ' '; cout << '\n'; return 0; }저는 강사님과 약간 다르게 코드를 작성했는데 강사님의 이해를 돕기 위해 다른 점을 살짝 설명드리면해당 문제 예시 그림에서 시계 방향으로 90도 회전한 상태라고 가정하고 진행을 했습니다. 그래서 x, y 위치가 반대고 각 이중 for 문의 첫 for 문 내 조건문 표현식에서 N 을 사용합니다.미리 영역 좌표를 받고 int 형 데이터 4개를 가지고 있는 튜플을 사용했는데요. 제가 안되는 부분은 바로 해당 튜플을 가지고 영역을 표시할 때 입니다. for(int i = 0; i < N; i++) for(int j = 0; j < M; j++) for(int k = 0; k < K; k++) if(get<0>(c[k]) <= i && i < get<2>(c[k]) && get<1>(c[k]) <= j && j < get<3>(c[k])) m[i][j] = 1;중요한건 오른쪽 위 좌표에 대해서 검사를 할 때 등호를 포함시키지 않는게 답을 위한 중요한 부분이였는데요. 이 부분이 이해가 가질 않습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-C질문입니다
cnt[100]이 아닌 cnt[104]를 사용하는 이유가 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
dev c++ 오류
https://www.inflearn.com/questions/773687/dev-c-%EC%9E%90%EC%B2%B4-%EC%98%A4%EB%A5%98 안녕하세요 선생님위 링크와 같은 문제를 겪고 있는데요.저도 마찬가지로 경로에 공백이 있는데요. 경로를 구체적으로 어떻게 설정하는지모르겠습니다. Chat GPT와 구글링도 해봤지만 도저히 방법을 모르겠어서 질문드립니다.단계별로 해결방법을 알려주시면 감사하겠습니다~
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
백준 1152질문
선생님 눈뜨고쓸정도로 스플릿외워서 이때다싶어 사용했습니다만 바로 시간초과가 뜨네요 ㅜhttp://boj.kr/c6c01ff909ca445dbb0b4a283faf9b02이게 제가 한 링크고#include <bits/stdc++.h>using namespace std;int main() { string s; int a = 1; getline(cin, s); for (int i = 0; i < s.length(); i++) { if (isspace(s[i])) { if (s.length() == 1) { cout << 0; return 0;} else if (i > 0 && isspace(s[i - 1])) { cout << 0; return 0;} else if (i == 0 || i == s.length() - 1) continue; else a++; } } cout << a; return 0;}이건 통과되는 다른사람껀데 아무리봐도 이해가 잘 안되네요 ㅜㅜ 알려주십셔
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
마지막 테스트케이스에서 시간 초과가 납니다.
안녕하세요 선생님. 복습을 하면서 문제를 다시 풀어보았는데요 , 선생님 방식과 같은 방식으로 해결 했다고 생각했는데 마지막 테스트케이스에서 타임 리밋이 떠서 , 혹시 제 코드보고 문제점이 있다고 생각되시는 부분 있으면 짚어주시면 감사하겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-g
http://boj.kr/29fb43fd10d44ca584e97162656381a0안녕하세요 선생님 제 코드 맨 밑에 반례가 안돌아가는 논리적 이유를 알 수 있을까요?? 그리고 저는 질문게시판으로 저 반례를 찾은것인데 이러한 애매한 반례는 어떻게 찾는것이 좋을까요? 예를들어 저 반례는 선생님이 설명해주신 최대 최소로 찾을 수 있는 반례가 아닌거 같습니다.제 코드의 33- 37번째줄은 벡터인경우에만 실행이되나요?선생님이 max값을 200000으로 설정하신 이유가 궁금합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-g 질문
http://boj.kr/29fb43fd10d44ca584e97162656381a0안녕하세요 선생님 제가 많은 테스트 케이스들이 돌아가는데 맨 아래에 주석으로 넣은 테케가 돌아가지 않습니다. 혹시 제 코드의 논리적 오류가 무엇인지 찾아주실 수 있으십니까?33줄에서부터 37번째줄까지의 코드는 예전에 벡터를 활용할시 잘 돌아갔는데 큐는 저런 코드를 못사용하나요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
p138 배열로 next_permutation
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 배열로 next_permutation할 때int a[3]={1, 2, 3}; void printA(int a[]){ for(int i : a) cout << i << " "; cout << "\n"; } int main(){ do{ printA(a); }while(next_permutation(a, a+3)); } 벡터에서 한 것 처럼이렇게 따로 printA로 함수를 빼서 만들어봤습니다.하지만 for 줄에서[Error] 'begin' was not declared in this scope이런 에러가 나면서 실행이 되지 않는데그 이유가 궁금합니다...교안에서처럼 따로 printA함수를 빼지 않고 for~부분을 그대로 main함수에 작성하면 실행이 됩니다. 그냥 교안처럼 printA따로 안빼고 바로 작성하면 되는건가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-P 질문있습니다.
안녕하세요. 선생님항상 강의 잘 듣고 있습니다. http://boj.kr/eb569883dd084b64877cab066012fc703-P 문제를 1. 꽃을 심었을 때 모든 구역의 비용을 순회하며 계산하여 가격에 따른 좌표 값과 비용을 저장한다.2. 비용을 정렬하여 비용에 따른 좌표 값을 visited배열을 통해 체크한다.위와 같은 방식으로 풀었는데, 어떤 부분에서 틀렸는지 잘 모르겠습니다.감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
무작정 일단 질러봤습니다.
프로그래머스 2레벨 문제에서 조금 막히고 1레벨은 그냥 수월하게 풀정도입니다.또 백준 기준에선 실버 2까지는 그냥 풀 수 있습니다.제가 학부생이지만 알고리즘 자료구조를 다 까먹은 상태여서 문제를 풀 때 접근 방식이나 접근법 혹은 문제가 집중이 안되서 생각이 안될 정도로 안 풀릴때가 있습니다. 이 강의에서 제가 활용을 해야 한다면 강의를 통해서 처음부터 차근차근 기초를 쌓아 올라가면 될까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요. 5 - B 질문있습니다.
안녕하세요.5 - B 문제 풀이 이후 시간 초과가 나서 이것 저것 찾아봐도 어디서 시간 복잡도가 올라간 것인지 궁금해 질문 남기게 되었습니다.기존에 split 함수를 구현했던 것에서 착안하여 erese()를 사용하며 계속해서 문자열을 재구성하는 방식으로 구현했습니다.http://boj.kr/839e5d81df42477cae93f08c8c706222
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요. 5-A 질문 있습니다.
안녕하세요. 항상 강의 잘 듣고 있습니다. 5-A 문제를 map과 pq를 사용해서 풀이해봤습니다. 제가 생각했던 풀이는 아래와 같습니다. d를 기준으로 받을 수 있는 p를 내림차순하여 그룹핑했습니다. d마다의 최대값만을 pq.top()를 통해 받아가며 최종 값을 계산하도록 했습니다.예제의 경우는 통과하나 최종 결과는 실패입니다 ㅠ. 제가 고민한 부분에서 어떤 오류가 있는지 궁금하여 질문드리게 되었습니다. 제 코드입니다.http://boj.kr/ca47ec856ce04d98be7c9cb6c6571304 매번 감사드립니다.
-
해결됨코딩테스트 [ ALL IN ONE ]
Sorting algorithm
two pointer 강의를 보면서 질문이 있습니다.파이썬을 사용하기 때문에 merge sort나 quick sort 필요 없이 .sort()를 하셨다고 했는데 어떤 회사에서는 sorting algorithm을 구현해서 문제를 풀어라 할 수 있지 않을까요?