묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I질문 있습니다
http://boj.kr/aafa9c1e2c3843a2852b34b61bcadf37안녕하세요 큰돌님 공부를위해 기존에 풀이했던 문제를 다시 처음부터 풀면서 강의를 다시 시청하고있습니다.오랜만에 다시 알고리즘 공부를 하려고 강의를 열었는데 추가된 교안과 추가영상등 양질의 강의가 더욱 업그레이드되어 감사함을느낍니다.다시풀어도 플레티넘문제는 아이디어에서 자잘하게막히는 부분이 생겨 궁금증을 해결하기위해 질문을 남겼습니다.수빈이가 time만큼 이동하면서 해당범위를 최단탐색(bfs)를 통해 기록하면서 동생의 이동위치와 겹치는 부분이 생기면 홀수/짝수에 관계없이 +2초의 시간을 이용해 수빈이는 해당위치에 고정해서 대기 할 수 있기 때문에 방문배열(visited)를 홀수/짝수로 구분해 k(동생의위치)를 체크하면서 범위탐색을 형제노드(탐색시 queue의 원소들)을 순서대로 체크한다는 아이디어 까지는 이해를 했다고 생각합니다.이때 두가지가 큰돌님코드에서 이해가안가는데첫째로 visited의 탐색체크를 (turn+1) %2 = turn%2 +1로 체크를 안하고 반대로 체크하시는부분,두번째로 다음위치(nx)와 동생위치(b)만을 비교, 반복문을 탈출하는 부분이 있는데 위치만을 비교하면 안되고 방문시의 홀수/짝수도 같이 구분이 완료되야만 체크가 완료된게아닌가요? 그래서 제가 제출한 코드에서는 짝수/홀수 체크가 끝난 동생방문타이밍에서만 체크가 확인되면 조건체크후 탐색을 종료하게끔 작성했는데 예시코드에서 위에언급한 두부분이 이해가 잘 안가네요 답변해주시면 감사하겠습니다.
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
강의에 있는 c++ 자료는 공개 예정이 없나요?
c++로 코딩 테스트를 준비해야 되는데, 파이썬이라도 괜찮다고 생각해 결제하긴 했지만, 동영상에 c++ 자료가 보여서 혹시 질문 드립니다! 현재 노션에는 싹 빠져있는 것 같아서요 따로 공개는 되지 않나요?
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
공간 복잡도 1mb = 100만개 질문 드립니다!
제가 알기로는 int 자료형이 4바이트로 알고 있는데 보통 1바이트라고 하셔서 제가 오개념을 알고 있는 것 같은데 아무리 생각해도 맞지 않는 것 같아서 질문 드립니다! int 자료형인데 왜 1바이트인지 궁금합니다!
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
브루트 포스 BOJ 1182번에 관한 질문이 있습니다!
풀이 1번 (기본)에서 대부분의 코드를 이해했습니다.그런데# 인덱스가 lev인 원소 선택 Xsearch(lev + 1)에서 잘 이해가 되지 않습니다.혹시 lev이 0일 경우인가요?
-
해결됨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 을넣었을땐 ()자체가 생성이안되는데 해설이 잘못된걸까요?