월 33,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결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 중 더 큰 값으로 바뀔텐데요, 테케도 올바른 출력 값을 가져오는데 무슨 차이가 있는건지 알려주시면 감사하겠습니다 :)
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-J 질문 있습니다!
안녕하세요 선생님, 사소한 궁금증이 두가지 생겨 질문 드립니다.1.선생님이 전역변수가 유리하다고 말씀해주셨는데 이번에는 지역변수로 map을 선언하셨습니다. 저는 전역변수를 이용해 선언 후 선생님의 while문 맨 아래에서 clear시켜주는 방식을 사용했습니다. 이런 상황에서는 지역변수로 해주는 것이 복잡도 등의 측면에서 더 효율적이라 그렇게 하신건가요? 아니면 그저 취향 차이인가요? 2.이 문제에서는 공백을 두고 들어오는 두 문자열 중 앞의 문자열은 사용하지 않습니다. 이런 상황에서 선생님 풀이처럼 두 문자열에 대해 변수를 모두 선언해서 각각 받을 수 있지만 저는 아래와 같이 한 변수만 설정하여 연속으로 입력받는 방식을 습관처럼 사용하고 있습니다.cin >> tmp >> tmp;이부분 또한 취향차이인지, 더 나은 것이 있는지 궁금합니다.감사합니다.https://www.acmicpc.net/source/share/91fe4435e46b418ba58f13a0844b382e
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-T 17298번-오큰수 질문
안녕하세요 큰돌 선생님. 수업을 열심히 듣고 있는 학생입니다.정답이 틀려서 질문했다기보단 강의를 보기 전에 스스로 풀었는데 저는 우선순위 큐를 사용해서 풀었습니다. 맞추고 나서 기분이 좋은 상태로 선생님 강의를 봤는데 스택으로 푸셨더라고요.이런 방법도 있구나~ 하면서 어떻게 푸셨는지 로직을 보는데 이게 왜 되는지 오랜 시간 생각을 해봐도 논리? (스택 방식으로 푸는게 왜 유효하고 문제가 없는건지)를 모르겠습니다. ㅜㅜ우선순위큐로 푸는 상황에서는 현재 가르키고 있는 인덱스의 값보다 작은 값의 모든 우선순위큐 안에 있는 인덱스들을 pop을 한다고 확신을 하겠는데 스택은 확신이 안 듭니다예를 들면 스택안에 현재 인덱스가 가르키는 값보다 작은 값의 인덱스들은 저장을 하며 pop을 하다가 더 큰 값 인덱스를 만나서 while문을 멈췄는데 그 밑에 그러니까 더 일찍 들어온 애들 중에 pop을 해야 하는 애가 있는 상황이 있을까봐 저는 스택이 아닌 우선순위 큐부터 써본 것 같습니다. 이렇게 딱 스택을 써도 문제가 없겠다. 즉 위 같은 상황이 안 생기겠다! 라는 생각이 드는 논리를 알고 싶습니다. 그리고 이렇게 논리를 생각해야하는 문제들을 어떻게 대비해야하는지 여쭤보고싶습니다. 제가 머리가 나쁜지 한 10분 생각을 해봐도 스택이 왜 문제가 없는지 아직도 깨닫지 못했습니다 ㅠㅠ이런 논리를 생각해내지 못해서 손도 못댄 문제들이 있습니다. 풀어보셨는지는 모르겠지만 프로그래머스에 요격 시스템이라는 문제는 비슷한 이유로 제대로 풀지 못해서 결국 남의 코드를 봤습니다. 밑에는 우선순위 큐로 푼 코드입니다http://boj.kr/88988bf1465247cea240603121ec5ae7
- 해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
당근마켓 엔지니어 문제 BFS 코드 질문
안녕하십니까 큰돌님제가 강의 보기 전에 당근마켓 엔지니어 문제를 혼자 코드로 작성했었는데뭐가 문제인지 모르겠습니다입력에서 무한루프에 빠지는 왜 빠지는 거 같은데 모르겠습니다 ...http://boj.kr/d57fe9c1c85b4938bc642528ab607f2e그리고 n이 세로, m이 가로이면 반복문에서 n과 m의 위치가 제 코드처럼 바껴야 하는 거 아닌가요 ??
- 미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-R 트리 질문있습니다.
안녕하세요! 좋은 강의 들려주셔서 감사합니다!큰돌님 풀이와 dfs를 쓴다는 점에서 크게 다른 것 같지 않은데, 채점이 잘 진행되다가 77% 정도에서 틀렸다고 뜹니다. 많이 생각해 봤지만, 반례가 어떤게 있는지 찾을 수 없어 질문드립니다!http://boj.kr/387ac0e3a8b644d298eb49bf40165f33