월 33,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-J ret-1 관련 질문 드립니다.
큰돌님 안녕하세요? http://boj.kr/bf56f9dfa3334722b3c4d22ac01f67da저는6-J 해당 문제에서ret=60000000004로 설정하고이분탐색에서ret = min(ret, mid);으로 최적의 ret을 찾는 방법을 사용하고 싶은데요,강의의 ret-1이 저는 아직 이해가 안가서 질문 드립니다. Q1. 해설에서는 ret=0;으로 설정하고 이분탐색에서ret=mid;로 min()함수 없이 사용하셨는데 상관 없는건가요? Q2.강의 8:16초 28명과 35명 중에서 35명를 찾는 과정을 먼저 한다고 하셨는데최적의 ret(mid)인 35 찾는건 이해했는데ret-1코드로 인해 (해설 코드 26 line, 또는 강의 7분 54초 부분)28부터 시작하는게 아니라 34(35-1은 34이므로)부터 하는것 아닌가요?이부분 궁금해서 질문 드립니다. 답변 미리 감사합니다.수강자 올림.
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-Y 원판 돌리기
http://boj.kr/f8db50bd4ee848db99f4e157879c03d1테스트 케이스는 맞고 출력해봤을 때 해당 예제처럼 인접 값 삭제되는게 확인되는데 왜 틀렸는지 모르겠습니다.. 저는 vector<int> vec[54]로 1번부터 n까지 값을 저장한 후, 벡터를 rotate했습니다..
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
(공부 방법 관련) 모르겠으면 답을 보고 풀어도 되는걸까요ㅠㅠ
안녕하세요! 선생님 강의 잘 듣고있습니다 ㅎㅎ다름이 아니라,, 공부 방법에 대해 궁금한 점이 있어서요. 2주차까지는 제시해주신 문제 문제 대부분이 실버라서 답을 안 보고 풀고, 선생님 강의 보면서 더 나은 답을 배워가는 식으로 공부해왔는데,, 3주차 브루트포스부터는 골드가 대부분이라 자꾸 답에 도달하지 못하고 결국 강의 코드를 참고하게 됩니다ㅠㅠ (제가 아직 골드를 안 보고 풀 수 있는 실력이 아닌 것 같아요..)당연히 몇 시간 동안 저 스스로 풀려고 노력하는데, 늘 테케는 맞추더라도 히든테케를 틀리고ㅠㅠ 테케가 맞았으니까 어느정도 답에 근접하긴 했다고 생각했는데 막상 큰돌쌤 답을 보면 저랑 다르게 짧고 깔끔하게 구조화하셨더라구요. ㅠㅠ 예를 들면, 인구이동(boj 16234) 문제에서 인접 컴포넌트니까 dfs써야지! 하고 와다다닥 dfs를 써서 코드를 짜긴 짜는데 주어진 조건이 많아지니까 혼란스러워하면서 배열도 많이 만들고 flag도 많이 만들어서 덕지덕지 코드를 짜다가 포기하고 답을 보는.. 이런식이 반복됩니다.. 다음날 다시 풀어봐도 전날 푼걸 외워서 푸는 것 같고 제가 다른 문제가 나왔을 때 풀 수 있을거라는 자신이 안 들어요 이렇게 스스로 풀지 못 하는 문제가 거의 대부분이라도 이런식으로 계속 답을 보면서 공부하는게 맞는걸까요? 쌤 답을 보면서 공부를 해도 제 스스로 문제푸는 힘이 길러질까요?ㅠ.ㅠ 한탄 읽어주셔서 감사합니다..
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
배열을 이용한 구현 풀이 질문드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 큰돌님! 항상 좋은 강의 감사합니다! 다름이 아니라 제가 이 문제를 풀 당시, 입력의 범위도 작고 풀이가 딱히 생각이 나지 않아 배열을 이용해 쌩구현을 했습니다. 하지만 N과 J의 범위가 커지면 제가 풀이한 방법으로는 시간복잡도가 커져서 틀리게 되겠죠?만약, M이 1이고, N, J가 1000만일 때 최악의 경우 사과가 양 끝 인덱스(1번과 1000만번)에만 떨어진다면 시간복잡도는 1000만 * 1000만이 될까요? 코드: http://boj.kr/047fdd5efd2c4f37968a1764f52f9a40
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-E 메모리제이션 질문 있습니다.
큰돌님 안녕하세요?해당문제 메모리제이션 질문 있어서 들고 왔습니다. 아래는 제가 짠 코드고, 전체적인 로직은 해설하고 같은데 mem 쪽이 좀 달라서 질문 들고 왔습니다.http://boj.kr/5fac53ce112b4d7a8781f7c8f21ea24a 저는 mem 쪽을 아래와 같이 처리했는데요,&ret = dp[F][H];(ret !=0) return ret; 큰돌님 해설에는 조금 다르게 되어 있는 것 같아서요if(dp[whole][not_whole]) return dp[whole][not_whole];&ret = dp[whole][not_whole]; Q1. 왜 해설에서(ret !=0) return ret;이거를 쓰지 않는건가요? Q2. 아래 두 코드는 사실상 의미가 같은건가요?&ret = dp[F][H];(ret !=0) return ret;if(dp[whole][not_whole]) return dp[whole][not_whole];&ret = dp[whole][not_whole]; Q3. 강의 1분 54에서도 "dp가 있으면 그냥 dp를 반환한다"고 설명해주셨는데 위 질문과 관련이 있을까요?"dp가 있으면 그냥 dp를 반환한다"는 말도 이해가 어려워서 추가로 설명 받을 수 있을까요? 답변 미리 감사합니다.수강자 올림
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-H 반례
안녕하세요! 숨바꼭질 문제를 풀다가 trace 배열을 만드는 것 말고, visited의 값 만을 이용해 문제를 풀 수 있을 것 같아서 다음과 같이 코드를 작성했습니다.http://boj.kr/ef5e639dacc44c76a86baa28a9d967b8visited값에 대한 map을 만들어 값을 역추적 해 나갔습니다! 근데 48% 쯤에서 틀렸다고 나오네요,,, 백준 질문게시판에 적힌 반례들을 모두 넣어봐도 적절한 반례를 못찾겠습니다ㅠㅠㅠ
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-V 바텀업 질문
선생님 안녕하세요! 저는 한번 바텀업 형식으로 풀어봤는데요,http://boj.kr/c788996f4fab486191d7c17ca93ff668테스트케이스는 다 맞는데 틀렸다고 나오네요 ㅜ우선 2개의 dp배열을 만들어서 자전거와 도보, 같은 index일 때 두가지 옵션이 서로 더해지지 않게, 즉 겹치지 않게한 것이 저의 의도입니다.어디서 틀렸을지 잘 감이 안오는데 ㅜㅜ 한번 봐주시면 감사하겠습니다 🙇♀
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-O. 모듈러 연산 질문
모듈러 연산은 분배법칙이랑 비슷한 것 같은데, 유사한 것이라고 알고있어도 될까요?또한, 이제까지는 cin, cout을 쓰시다가 왜 이 문제에서는 scanf, printf를 쓰셨는지 궁금합니다
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-K 주몽 문제 재귀를 이용한 조합으로 푸는 방법
모범 답안을 확인할 수 있을까요? 저도 풀 때 선생님이 푸신 것 처럼 이중 포문을 이용해서 했었는데, 재귀를 이용해서 푸는 방법도 궁금합니다.또한, r이 3 이하일 경우 무조건 이중 for문으로 돌리는게 시간복잡도가 재귀보다 낮게 나오나요?
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1 - N 짊
http://boj.kr/84fc8018313e4742bc5b749cee39e0f9선생님 제가 코드를 짜보았는데 틀립니다가 계속 나옵니다. 혹시 어느부분이 문제인지 알려주실 수 있나요?
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-J 코드 질문입니다.
안녕하세요 강사님! 강의 너무 잘 듣고 있습니다!제가 짠 코드랑 강사님 코드랑 좀 다르지만 답은 맞다고 뜨는데, 이렇게 풀이해도 큰 문제 없는지 여쭤보고 싶어서 코드 올려봅니다.http://boj.kr/5a5e290d48434a57a34847c066b4de7b
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
답은 맞았는데, 이상한 부분이 있어서 질문드려요
http://boj.kr/a12c58c1df11493f8ba78847feffa3b9 선생님, 안녕하세요~완전탐색(재귀방식)으로 해서 어떻게 답을 맞췄습니다.처음에는 dp테이블에 동전이 n개일때 경우의 수를 저장해야겠다고 생각하고 코드를 짜보았지만, 뭔가 잘 되지않아dp[34][34] 이런식으로 남은 w가 n개, h가 m개일때 경우의 수를 저장하게 하는 방식으로 해서 통과하였습니다.그런데 이상한 점은, 한번 dp방식으로 해서 답을 맞췄으면, 그 다음 입력때도 이전에 저장된 dp테이블에 있는 값을 그대로 이용해서 답을 맞출 수 있을 줄 알았는데,이전에 저장된 dp테이블을 이용하면 다른 답이 나와서, 입력을 할 때마다 dp테이블을 초기화 해주는 방식을 사용하고 있습니다.음,, 어떤 부분때문에 이렇게 나오는 걸까요??
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2- I segmentation fault
안녕하세요 선생님 해당 코드는 정답코드입니다. 그러나 제가 주석처리한부분으로 코드를 짰을때는 segmentation error가 나와서 그 이유를 여쭤보고 싶습니다.또한 선생님께서는 size()를 사용하셨고 저는 length()를 사용했는데 size()와 length()의 장단점도 알고싶습니다 http://boj.kr/df71a1d8b94a49cca8ed3d2cbb104d78감사합니다
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요! 버퍼 플러싱 관련하여 질문드립니다.
교안 32p에 cin을 사용해서 반복횟수를 입력 받고 getline을 사용시에 정수 입력 => 엔터 => 문자열 입력의 흐름이 되고 cin은 개행문자 전까지 입력을 받기 때문에 버퍼에 \n이 남아서 버퍼 플러싱이란걸 해야 함으로 이해했습니다. 그리고 버퍼플러싱이 임시저장소인 버퍼의 데이터를 프로그램에서 사용하기 위해 영구저장소로 가져가는 것임도 확인했습니다. 이 과정에서 2가지 여쭙고싶습니다. 위의 문제로 입력 버퍼에 개행 문자가 남아있다면 이후에 데이터를 입력할 때 남아있는 개행문자에 걸려서 오류가 날 것으로 생각합니다. 그래서 따로 남아있는 개행문자를 처리해야되는 것으로 이해했습니다. 제가 이해한게 맞는지 궁금합니다!32p의 버퍼 플러싱 코드에서string bufferflush; getline(cin, bufferflush);의 코드로 남아있는 개행문자를 버퍼 플러싱 해주는것으로 사료되는데, 위 코드가 어떤 원리로 남아있는 개행문자를 처리해주는지 이해가 가지않습니다.. ㅠ
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-D (백준2573 영역구하기) 백터사용시 메모리 초과
안녕하세요!(질문글 올리다가 제코드를 다시보니 왜 메모리초과가 나는지.. 알게돼서 글쓴게 아까워서 정보공유차 남깁니다)요즘 코딩테스트에 vector를 넘겨받는 케이스가 많아서연습삼아 함수인자로 vector를 넘겨주는 방식으로 문제를 풀고있습니다. 전역배열로 문제를 풀면, 메모리초과가 안나는데, vector를 넘기니 메모리초과가 발생하네요. ----------- 함수 선언은 아래와 같이 했습니다.-----void dfs(vector<vector<int>> map, vector<vector<int>>& visited, int x, int y, int num)----------------------------원인 ) 재귀호출하면서 매번 map이 복사가 되면서 메모리를 잡아먹는게 원인 이였습니다. & 참조 연산 붙여주니 바로 통과되네요. 다른 분들은 이런 실수 안하시길.. 수정) void dfs(const vector<vector<int>>& map, vector<vector<int>>& visited, int x, int y, int num)교안대로 전역변수쓰는게 확실히 실수를 줄여줘서 좋긴하지만 이것도 좋은 경험이라고 생각하고 넘어가게습니다.
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-L 주몽문제 시간초과 관련 질문입니다 ㅠ
https://www.acmicpc.net/source/share/bc46fa452bbf42209281c4b2e3220c39 이 코드가 솔루션에서는 잘 돌아가는 데,백준에서는 시간초과라고 뜹니다 뭐가 문제인지 알 수 있을까요??
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
재귀 함수에 어떻게 접근해야 하는지 잘 모르겠습니다.
재귀함수를 사용해서 문제 풀이를 할 때 어떤 식으로 접근해야 할 지 팁을 주실 수 있나요?예를 들어, 종료조건을 반드시 설정해야 하고 이에 대해 먼저 생각하고 들어가는 건 알겠습니다. 그러나 어느 부분을 재귀시킬지에 대한 감이 아직 잘 없는 것 같아요.어느 부분을 재귀 시켜야 하는지랑, 그 외의 팁이 있으면 좀 받고싶습니다.외워서 푸는건 되는데 이해는 아직 안돼요
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3 - J 주난의 난 질문있습니다,,
http://boj.kr/2b8f07db284d4502b563683fdd715549 테스트 케이스하고 다른 질문 글 반례도 통과합니다.기본적으로 bfs에 0을 만나면 visited에 1을 증가 안해줬고 1을 만나면 증가해줬습니다. 영상 잘 보고 있습니다,, 근데 너무 어려워요 ㅠㅠㅎㅎ
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
algorithm헤더의 sort
교안 p.88과 p.92에 각각 캡처한 사진입니다.두 설명 모두 sort (cmp없이) 를 설명하고 있습니다. first에서 동일한 값이 나오면 second를 기준으로 오름차순 정렬을 진행하는 것으로 알고 있고 실습도 해봤습니다. (아래 실습) #include <bits/stdc++.h> using namespace std; int main() { vector<pair<int, int>> v = { {5, 1}, {2, 2}, {5, 3}, {3,4}, {2, 5} }; sort(v.begin(), v.end()); for (auto it : v) cout << "(" << it.first << ", " << it.second << ")" << "\n"; return 0; } /* (2, 2) (2, 5) (3, 4) (5, 1) (5, 3) */ 따라서 (2,5) -> (2,2) 순으로는 나올 수 없을 것으로 판단했습니다.어느 부분이 잘못됐는지 알고싶습니다~!
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-C 질문있습니다!
안녕하세요 선생님 😃 대부분의 코드는 이해하였지만, ret값이 1이 아닌 0이라면 오답처리가 되더라구요. 어차피 max함수를 사용하면 ret값이 ret과 cnt 중 더 큰 값으로 바뀔텐데요, 테케도 올바른 출력 값을 가져오는데 무슨 차이가 있는건지 알려주시면 감사하겠습니다 :)