묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3주차 #1 완전탐색과 백트래킹
첫번째 문제는 아래와 같고 return go(idx + 1, sum + v[idx]) + go(idx + 1, sum)두번째 문제는 아래와 같이 병렬로 실행하는데go(idx + 1, sum + v[idx]) go(idx + 1, sum)어떨 때는 더하고 어떨때는 각각 실행하는데 이유를 모르겠어요. 첫번째는 경우의 수를 구하고 두번째는 최대값을 구해서 그런건지.. 근데 이해가 잘 안갑니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
실제 코테 시험에 대해서 질문이 있습니다.
오늘 입사를 위한 코딩테스트를 두번째로 봤습니다. 공기업인데 프로그래머스로 이용해서 시험을 보았습니다. 그런데 제가 직접 #include<bits/stdc++.h>를 입력하면 오류가 나고 초기에 include로 작성되어있는 것들만 사용이 가능했습니다. 그래서 cout 으로 디버깅도 못했습니다.. 그리고 4문제 중 한문제에만 using namespace std; 가 초기에 적혀 있었고 나머지 세문제에는 초기에 적혀있지 않았습니다. 그래서 이 부분도 제가 직접 작성을 해주었더니 오류가 생기더군요.. 제가 아직 기업 신입 코테를 많이 봐본적이 없는데 이렇게 제한있는 곳들이 많나요..? 앞으로 이러한 상황들까지 대비해서 공부를 해야되는지 생각이 듭니다. 저번에 처음으로 다른 기업 시험을 볼 때도 프로그래머스를 이용했던 것으로 기억하는데 그때는 include도 마음대로 되고 namespace도 작성 가능했던걸로 기억합니다.. 그런데 오늘은 안돼서 문의했을 때는 오류는 없다고 했습니다..
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-C 코드확인 부탁드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. dfs 의 매개 변수로 vector 를 넘겨줄 때 코드입니다 .http://boj.kr/129282969aaf44f28f97cf1b1024ad1e vector 를 전역변수로 했을 때 코드입니다.http://boj.kr/74480c35c04441f2860defc1634e0e0a 두 코드 모두 예제는 맞추는데 제출하면 틀렸다고 나와서 코드확인 부탁드립니다!
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
이분탐색(매개변수 탐색) 질문 있습니다!
while문 조건에서,(lt < rt)와 (lt <= rt) 두 조건 중 어느것을 사용해야 하는지 판단 기준이 있을까요?
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
중반부부터 후반부까지의 거의 모든 영상이 다음과 같이 흰 영상으로만 보입니다.
누적합 알고리즘부터, 상당 수 강의가 다음과 같이 보입니다.
-
미해결김영한의 실전 자바 - 중급 2편
제네릭클래스는 타입매개변수를 통해 타입을 결정하는데 이 타입을 메인에서 전달받는다면 의존성 주입과 IoC로 볼수 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제네릭클래스는 타입매개변수를 통해 타입을 결정하는데 이 타입을 메인에서 전달받는다면 의존성 주입과 IoC로 볼수 있나요?제가 생각하는 IoC는 한 오브젝트에서 무언가를 결정해야하는데 이것이 다른 오브젝트에 의해 결정되는 것입니다.이때 제 기준으로는 제네릭클래스는 내부적으로 타입을 결정해야하지만 이 타입이 메인과 같은 함수에 의해 타입을 전달받아 전달받은 타입으로 타입을 결정하므로 IoC에 부합한다고 생각합니다.또한 외부에서 타입을 주입받으므로 의존성 주입에도 부합하다고 생각합니다.혹시 제 생각이 틀렸나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-H 메모리 초과 질문드립니다.
안녕하세요, 선생님.코딩테스트를 대비하여 선생님의 강의를 열심히 듣고 있습니다.3-H 문제를 푸는데 있어서 다음의 로직을 사용하여 선생님의 코드를 수정해보았는데요.prev 배열 내 원소에 0이 아닌 값을 할당하므로 이를 통해 방문 처리를 할 수 있다는 점.v 벡터를 이용하여 가장 빠른 시간을 알 수 있다는 점.이에 visited와 ret 없이 코드를 수정해봤습니다.http://boj.kr/20c1cc00bed04b9692711c09e0c2c852 그런데 오히려 메모리 초과가 발생하였습니다.수정된 코드는 사용된 변수가 적음에도 불구하고 오히려 메모리 사용이 더 많아졌는데, 그 이유를 알고 싶습니다.감사합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-M 질문있습니다 :)
아무리 생각해도 저는 선생님이 안계셨으면 정말 큰일났을 것 같습니다.. ^^;; 제 풀이를 디버깅해봤는데요, cnt배열의 값이 문제없이 정확하게 들어가있습니다. 제 수준으로는 무엇이 잘못된지 알기가 어려워서 질문 드립니다..!! http://boj.kr/a69fdee058074fabbc1b33d7beb083c5
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-L 질문있습니다 :)
안녕하세요 선생님 🙂맞왜틀에 자꾸 걸리는거 같습니다 ㅠㅠ 테스트케이스도 맞고 생각도 꽤 많이 하고 조건을 체크했다고 생각하는데 자꾸 틀리니 스트레스가 이만저만이 아니네요 ㅠㅠ 이번 아이디어는 누적합을 기반으로 풀이하였습니다. 뺄셈을 하는 대신 나눗셈을 하면 될 것이라 판단하였구요, arr[0]의 값을 1.0으로 설정하였습니다. 또한, 연속된 수의 곱이니 곱연산이 일어나지 않는 경우는 2중 for문에서 j < i - 1로 처리해주었습니다.http://boj.kr/c016e1a3b9d54cb487564acfe350c3d4 앞에서 드리는 질문들도 계속해서 맞왜틀인걸로 미루어보았을 때, 제가 무언가 생각을 잘못하고 있는걸까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-I 질문드립니다 :)
안녕하세요 선생님 🙂이번 문제도 테스트케이스는 맞췄는데 틀렸네요 ㅠㅠ 이번 문제는 모르는 부분이 좀 많습니다! high의 값을 입력된 배열의 최소값으로 설정하였습니다. 왜 틀리는걸까요?테스트케이스에서 파의 길이 중에 가장 짧은 길이는 230입니다. 230보다 긴 파는 있을 수 없다고 판단하여 변수에 값을 저장한 후에 high의 값을 지정하였습니다. Check함수의 조건의 순서에 따라 값이 묘하게 바뀝니다.// main if (Check(mid)) { high = mid - 1; result = mid; } else { low = mid + 1; } bool Check(ll m) { return cnt < C; }그동안은 위와 같이 조건을 세웠었는데요, 이번 문제는 high와 low의 값을 변경해주는 위치가 바뀌었습니다. 그에 따라 Check함수의 return 조건도 아래와 같이 정반대로 바뀌었습니다. 윗 코드대로 출력을 하면 mid의 값이 176이 나옵니다. 반대로 아래 코드대로 출력하면 mid의 값은 175가 나옵니다.// main if (Check(mid)) { low = mid + 1; result = mid; } else { high = mid - 1; } bool Check(ll m) { return cnt >= C; }아무리 봐도 두 코드는 같은 코드로 보이는데요, 왜 값이 차이가 나는건지 모르겠습니다. 또, 이번 문제는 왜 아래의 방식을 선택하셨는지도 궁금합니다. 저는 아래의 링크와 같이 Check함수에서 result의 값을 도출하여 출력을 하였습니다. 아무리봐도 문제가 없다고 생각하는데요, 이렇게 풀이하면 왜 틀리는걸까요?http://boj.kr/325f8cd992f24dbbabf49c86a12384f6
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
Connected Component 문제 질문!
안녕하세요!Connected Componenet문제로 방귀 문제를 예시로 들어줬는데 만약 조건중에 어떤 육지는 오염이 되지 않게 해주는 장치가 있다고 한다면 해당 장치가 있는 육지는 ret에 포함되지 않아야 하는데, 이렇게 코드를 짤려면 어떻게 해야할까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-H 질문있습니다 :)
안녕하세요 선생님 🙂6-H 문제를 보자마자 6-E 대칭 차집합 문제가 떠올라서 같은 방식으로 풀어봤는데요,테스트케이스는 맞지만 틀렸다고 나옵니다. 이유가 뭔지 잘 모르겠어서 질문드립니다!! http://boj.kr/0c301b3a0f1546d08e31a6b41e69ea70
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-G 질문있습니다 :)
안녕하세요 선생님 🙂 한가지 이해가 되지 않는 부분이 있어서 질문 드립니다. result = -1인 경우를 아래와 같이 처리했는데요, if (X <= Y) { cout << "-1" << '\n'; return 0; }X == Y일 경우는 당연히 정답처리가 되긴 하지만.. 혹여나 예외로 Y의 값이 X보다 클 경우를 예외처리하려고 했는데요, 이게 왜 틀렸다고 나오는지 이해가 되지 않습니다. 항상 감사합니다:)http://boj.kr/9feefe6cb25d4acbaef72f01f91a84cb
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-c 코드 질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.제가 작성한 아래의 코드에서 항상 실제 답보다 1이 작게 나오는데 그 이유를 알 수 있을까요?#include <bits/stdc++.h> using namespace std; int n, m, ny, nx; int dy[] = {-1, 0, 1, 0}; int dx[] = {0, 1, 0, -1}; int mp[51][51]; int dp[51][51]; // 2차원 dp 배열로 수정 // dp[y][x]: 현재 위치에서 최대 몇 번 이동할 수 있는가? int move(int y, int x) { // 이미 계산된 값이 있으면 그 값을 반환 if (dp[y][x] != -1) return dp[y][x]; dp[y][x] = 0; // 이동 불가능한 상태로 설정 (기본값) // 4방향 탐색 for (int i = 0; i < 4; i++) { ny = y + mp[y][x] * dy[i]; nx = x + mp[y][x] * dx[i]; // 오버플로우 처리 및 구멍 처리 if (ny >= n || nx >= m || ny < 0 || nx < 0 || mp[ny][nx] == 0) continue; int ret = move(ny, nx); dp[y][x] = max(dp[y][x], ret + 1); // 현재 위치에서 한 번 이동하고 나서 계산 } return dp[y][x]; } int main() { cin >> n >> m; // 입력 받기 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { char v; cin >> v; if (v == 'H') { mp[i][j] = 0; // 'H'는 구멍이므로 0으로 처리 } else { mp[i][j] = v - '0'; // 숫자는 변환해서 저장 } } } // DP 테이블 초기화 (-1로) memset(dp, -1, sizeof(dp)); // 배열 처리 확인 for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { cout << mp[i][j] << " "; cout << dp[i][j] << " "; } cout << "\n"; } // 첫 위치에서 최대 이동 횟수 계산 int result = move(0, 0); cout << result << "\n"; return 0; }
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
[문제 5번] 중복제거
혹시 입력 받은 배열을 list(set(배열명))을 통해 중복을 제거한 후 deque 자료구조로 바꾸면 시간 복잡도상 문제가 될까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-e 해설보고 질문드립니다
답안으로 적어주신 코드에서 n=2 11 11 을넣었을땐 ()자체가 생성이안되는데 해설이 잘못된걸까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-F 질문드립니다 :)
안녕하세요 선생님 🙂 한군데 이해가 가지 않는 부분이 있어서 질문드립니다. 아래의 코드는 Check함수에서 init_attack 변수를 설정하여 attack으로 초기화하도 않았을 뿐더러 아예 사용을 하지 않았습니다. 결론부터 말씀드리면 틀렸는데요, 이게 왜 틀린건지 이해가 되지 않습니다. 혹시 call by value인가요? 입력 값에서 용사의 공격력을 이미 입력받았고, 그 공격력을 포션방을 갔을 때 입력받은 용사의 공격력을 증가시키면 된다고 생각했는데요, 이게 왜 안되는걸까요?http://boj.kr/9ca6118540e54a259b26c070a1b20868
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
범위 체크 질문있습니다.
http://boj.kr/c5c442d82b24467fbbac115beed3793c와 같이저는 배열 [0][0]~[x-1][y-1]이 아니고 배열을 넉넉하게 잡아[0][0][0][0][0][0][0][0] // 사용 ______ _[0][0] _____________ _[0][0] _____________ _[0][0]_____________ _[0][0]_____________ _[0][0][0][0][0][0][0][0] 과 같은 형태로[1][1] ~ [x][y] 까지 활용을 했는데요. 문제가 메모리를 정말 타이트하게 잡지 않는 이상 선생님께서 말씀하신 범위체크하고 위 방법은 취향 차이라고 보면 될까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-A 코드확인 부탁드립니다.!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 강의 듣고 변수만 바꿔서 테스트해서 예제는 통과했는데 제출하니까 에러가 발생해서 ㅜㅜ 코드 한번 확인 부탁드립니다. http://boj.kr/052be6c86bf945e5a945a7682b12f2aa
-
미해결김영한의 실전 자바 - 중급 2편
해시 충돌 구현 링크드리스트 사용이유!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요! 강사님께서 링크드 리스트를 사용하시는 이유를 설명해주셨는데 잘 이해가 안가서 질문을합니다!어레일이스트를 사용하는것보다 링크드 리스트를 사용하는 이유가.. 충돌?이 덜나서라고 하셨는데 이부분을 자세하게 설명해주실수있나요? 잘 이해가 안가네요 ㅜㅜ