묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-a, dp, 다익스트라 알고리즘관련 질문입니다!!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 뭔가 이 문제에서 inf로 처음에 거리를 초기화해놓는것이 다익스트라 알고리즘과 비슷한것같은데,이 문제처럼 다익스트라 알고리즘도 dp의 하나의 형태라고 볼 수 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-a 관련 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 두 정점 사이에 간선이 있을 수도, 없을 수도 있는데,이를 생각하지 않고, 경로에서, 해당 정점을 포함한다 / 포함하지 않는다 라고 타나내면 안되는 것이 아닌가요?? 만약, 정점들의 조합을 만들었는데, 예) a(0),b(1),c(1),d(0),e(0)어떻게 간선을 연결하려 해봐도, 해당 정점처럼 간선을 구성할 수 없을 수도 있지 않나요? 아니면 혹시 어짜피 결국엔, 문제가 <모든 정점들을 지나는 경로>를 찾으라고 했으니까, 짜피 문제의 일부분 (서브그래프)에선 해당 경로가 없어도, 글로벌로는 무조건 모든 정점들이 포함딜 것이기 때문에, 순서를 상관쓰지 않고, 조합을 통해 해결할 수 있는 것인가요?? dp 처음 배우는데 어렵네용.. 감사합니다!!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
탑다운dp와 버텀up dp에 대한 설명을 좀 더 알 수 있을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 자두나무 문제에 대한 설명에서.이 문제가 탑다운 dp란 설명에서 ' 이 재귀적인 DP는 필요한 부분의 배열만을 만든다는 것이 특징입니다. '[출처] [알고리즘 강의] 7주차. DP, 동적계획법, 다이나믹프로그래밍|작성자 큰돌 라는 문장이 이해가 가지 않습니다.필요한 부분의 배열만을 만든다는게 정확히 무슨말인가요? 또한, 탑다운 dp와 버텀업dp 위에서 아래로 간다 /아래에서 위로간다 라는 말이 완벽하게 이해가 가지 않습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D질문 있습니다.
두가지 질문이 있습니다.저는 J랑 F가 제자리에 있을 때는 카운트 안 하고 이동할 때마다 증가해서 J가 아예 빠져나오는 것을 카운트해야된다고 생각하였는데 제가 잘못 생각하는걸까요..?#####JF# # . . # # . . # ####--------------------------# J F # # 1 . # # 2 . # 이렇게 탈출했다고 생각하였습니다. 32. 불이 몇개 이상이다라는 조건이 없는데 한개만 가능하다라는 조건이 없기때문에 여러개가 가능하다고 생각을 해줘야되나요?? 이 문제는 생각보다 친절하지 않은 문제같은데 제 생각이 맞을까요ㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
자두 문제 설명관련 질문드립니다!
2^30이 언급될 때, 왜 2^30이 언급되는지 잘 이해가 가지 않습니다. 선생님께서 2^30에 대해 언급하실 때자두가 30초 동안 떨어지며 W=30인 것을 가정하고, 이때, 자두의 이동에 대한 모든 경우의 수를 탐색하려면 2^30이 걸린다는 것을 말씀하시는 건가요? (현재 위치 유지하거나/다른 나무로 이동)
-
미해결김영한의 실전 자바 - 중급 2편
comparable, comparator
얼핏 봤을때에는 comparable 과 comparator 차이가 크게 없어 보이는데, 만약 String ID 알파벳 순이라 아니라String Id 의 length 순으로 정렬해서 배열을 만들고 싶다고 했을때에는 comparable 은 기본적인 자연적인 배열 순서로 정의를 해주기 때문에 comparator 를 쓰는게 올바른 것인가요 ?
-
미해결김영한의 실전 자바 - 중급 2편
comparable, comparator
강의를 보면 ID 를 통한 Array 배열을 정렬할때IdComparator 를 만드셨는데, 사실 comparable 에서도 충분히 정의할 수 있는 것 아닌가요 ?단순히 Comparator 를 통해서도 할 수 있다라는 것을 보여주기 위함인가요 ?또한 언제 comparable 을 쓰는 게 낫고 언제 comparator 를 쓰는게 나은가요 ?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
14002번 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.https://www.acmicpc.net/source/8287773914002번 문제를 nlogn 시간에 풀기 위해서 큰돌쌤께서 알려주신 lower_bound로 풀어봤는데 틀렸다고 나옵니다. 이 방법은 trace는 할 순 없지만 문제에선 수열이 여러가지인 경우 아무거나 출력해도 상관없다고 해서 이 방법으로 하면 정상적으로 되야하는거 아닌가요...? 제가 이해를 잘 못한건지 어디 부분이 틀렸는지 잘 모르겠습니다
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
안녕하세요. 파트 소개 글을 보다가 브루트 포스와 구현 문제에 대해
참고로, 단순 구현 문제와 브루트 포스 관련 문제만 잘 풀어도 어렵지 않은 코딩테스트는 합격을 노려볼만합니다. 해당 내용이 언급 되어 있던데, 이부분은제 코테 전략은 아래와 같습니다.백준 브루트포스 알고리즘별 문제모음https://www.acmicpc.net/problemset?sort=ac_desc&algo=125 백준 시물레이션(구현) 알고리즘별 문제모음https://www.acmicpc.net/problemset?sort=ac_desc&algo=141 알고리즘별 문제 모음으로브루트 포스 : 100문제시물레이션 : 100문제각각 100문제 정도 풀어보고해당 강의에 있는 문제들을 완전 이해와 학습 복습을 하는것인데 이정도면 스타트업 코딩테스트 정도 노려볼만한가요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
16번 문제에서 직접 답을 대입하면 정답이 나오는데 채점에서 wrong answer가 나옵니다.
#include <iostream> #include <string> using namespace std; string solution() { int cAlph[26] = { 0 }; int sAlph[26] = { 0 }; string str1, str2; cin >> str1 >> str2; if (str1.length() != str2.length()) return "NO"; int len = str1.length(); for (int i = 0; i < len; i++) { if (isupper(str1[i])) cAlph[str1[i] - 'A']++; else sAlph[str1[i] - 'a']++; if (isupper(str2[i])) cAlph[str2[i] - 'A']--; else sAlph[str2[i] - 'a']--; } for (int i = 0; i < 26; i++) { if (cAlph[i] != 0 || sAlph[i] != 0) return "NO"; } return "Yes"; } int main() { cout << solution() << endl; return 0; } Case #01 : SuccessCase #02 : SuccessCase #03 : Wrong_answerCase #04 : SuccessCase #05 : Wrong_answer점수 결과 : 60 도대체 모르겠습니다.. 직접 다 예시 대입 해봤을 때는 정답으로 되는데 채점을 돌리면 왜 틀렸다고 나오는지 모르겠습니다ㅜㅜ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
0주차 [필수강의] split 함수 수업자료 다운로드 관련 문의
0주차 [필수강의] split 함수 질문 있습니다 해당 강의를 모바일에서보면수업자료아이콘이 나타나있습니다 C++알고리즘 교안 처럼 파일만 있는게 아니라 동영상과 함께있어 다운로드 하지못하는건지 모바일에서도 pc에서도 수업자료를 받을 수 없어서 질문드립니다 해당 수업자료 아이콘은 따로 파일이 첨부되어있다는 표시일까요?맞다면 어떻게 다운로드 할 수있는지 문의드립니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-W 2342 질문있습니다.
http://boj.kr/d480df7fada948b4a9ace782c2532e66 선생님과 비슷한 코드를 작성한거 같은데 답이 안 나오는 이유를 잘모르겠습니다... 그리고 이 문제의 경우 최솟값을 찾는 경우이므로 dp배열을 답이 될 수 없는 가장 큰 수로 초기화를 하지 않는 이유가 궁금합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
이전 강의와 수업 자료가 동일한 것 같습니다.
두 강의가 다 알고리즘_문제해설 pdf 파일이라 (각 8/21, 8/16일 자) 알고리즘 교안pdf 파일이 제대로 업로드가 되지 않은 것 같습니다. 확인 부탁드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I, 결과값에 대한 질문입니다
visited[turn % 2][nx] = visited[(turn + 1) % 2][x] + 1; 이렇게 해주는 부분이 있는데, 결과는 turn 을 출력하는게 조금 헷갈립니다실제로 확인해보니 turn 과 visited[turn%2][k]-1 이 서로 값이 다르기도 하구요혹시 이유를 알 수 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I 질문 있습니다.
저의 처음 접근방식은 아래와 같았습니다.공간 복잡도를 줄여야 하기 때문에 2차원 배열로 모든 것을 나타낼 수는 없다.동생의 위치는 점화식으로 표현할 수 있다. Bro(t) = Bro(t - 1) + t 0에서 출발해도 1000초 뒤면 500500에 도착하므로 배열의 크기는 1000이면 충분하다.수빈이가 특정 좌표에 도착한 시간을 기록해두고, 이 시간을 이용해 동생의 위치와 비교한다면 찾아낼 수 있지 않을까?그러나 이는 틀렸고, 강사님의 강의를 보고 수빈이가 먼저 도착한 경우를 빼먹었다는 걸 알았습니다. 그리고 이를 보완해 아래와 같은 코드를 작성하였습니다.http://boj.kr/9ca6697bc05c4e72b0e9a7cf5ef1a703하지만 여전히 틀렸더군요. 강사님의 강의를 마저 보고 풀긴 했습니다만, 제가 위 코드에서 빼먹은 부분이 무엇인지 감이 잡히지 않아 질문 드립니다. 🙏
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-A 질문 있습니다.
저도 min함수를 떠올려서 비교하기위해서는 result를 적당한 값으로 초기화를 해놔야된다고 생각하였는데 강사님께서는 987654321으로 초기화를 해두었던데 그렇게 하신 이유가 있으실까요?제가 문제를 풀다보니 초기값을 잘못 고르면 마이너스 값으로 출력되어버릴때도 있던데 어떻게 초기값 기준을 잡으면 되는지 잘 감이 잡히지 않습니다. 명확하게 딱 떨어지는 값도 이 문제에서는 없어 보이고요..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-G 와 백준 컴파일러에 대한 질문이 있습니다
https://www.acmicpc.net/source/82778585해당 풀이를 통해 정답을 맞혔는데요몇 가지 조건에 따라 오답과 정답이 나뉘는 현상이 있어서 이와 관련하여 강사님 의견을 여쭙고 싶습니다const int MAX 를 선언할 때 정수 크기에 따라 백준에 입력했을 때 결과가 다르게 나옵니다크게 차이나게 입력한 것은 아니고요200,000 이랑 200,002 를 입력해봤는데 200,002 은 정답이고, 200,000 은 오답으로 나오네요그리고 int n, k; 와 int visited[MAX], cnt[MAX]; 이 두 라인을 서로 변경했을 시 또 결과가 다르게 나옵니다int n, k; 를 나중에 선언해야 정답으로 나오더라구요그런데 int n, k; 를 먼저 선언해도 되는 경우가 있습니다int visited[MAX], cnt[MAX]; 이 부분에 MAX 뒤에 정수를 더해주면 int n, k; 를 먼저 선언해도 되었습니다아무리 고민해도 짐작 가는 부분이 없는데 강사님의 의견을 듣고 싶습니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-Q 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.go 함수에서 계속 탐색을 하다가 처음으로 1을 만나면 그 좌표를 넣고 멈추게 되면 가장자리에 있는 모든 1의 좌표가 v에 담기는게 아니라 그냥 처음으로 만난 좌표 1개만 v에 담기게 되는거 아닌가요? 어떻게 go 함수가 지울 모든 치즈 좌표가 담기게 되는지 이해가 안 됩니다..ㅜ
-
미해결김영한의 실전 자바 - 중급 2편
강의 질문
안녕하세요. 김영한 선생님 모든 강의중에서 재귀함수에 대해서 다뤄주시는 곳이 있을까요 ?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
16234 질문입니다!
16234번 테스트 케이스는 다 맞는데, 채점시에는 % 조금넘어가다가 바로 틀리는데, 어디가 틀렸는지 도저히 모르겠어서 질문드립니다. http://boj.kr/741c9846e8eb45d59f29b0a85fa3cfe9 그리고 선생님 풀이코드를 봤는데, 전역스코프에있는 벡터 v사용하시는데 dfs 파라미터에 넣으신 이유가 있을까요?? 이 질문을 드린게 함수 파라미터에서 '&'를 이용한 참조에 의한 전달을 하는 방식은 함수 파라미터에 해당 자료구조를 명시하지 않아도 상위 스코프를 순차적으로 순회하면서 동일한 이름의 자료구조를 발견하면 알아서 참조해서 사용한다고 알고있어서 그랬습니다.만약 값 전달이 목적이라면 (전역단에 빈 자료구조 'ds'생성)ds ds;func (param1, param2, ds) {~~}int main() { while (1) func(~~); ~~}이런식으로 함수를 정의하면 반복되는 로직에서 func를 부를 때 ds를 비워주는(fill, memset, clear, ...) 로직을 수행하지 않고 코드를 작성할 수 있을것 같은데, 이렇게 매번 빈 자료구조를 사용하는 로직에서는 값전달방식이 나을까요 아니면 그냥 무조건 참조 + flush가 나을까요?