http://boj.kr/92388f57a46746da910101a9b3400b69 문제를 풀고 정답이 되어서 답안을 확인하는데 overflow 조건 체크 후 방문가능한 지점인지 체크하는 과정에서 제가 ny,nx 대신 y와 x를 입력해도 정답처리가 되었습니다. 생각해보면 반드시 방문할 수 없는 지점을 방문하는 형태가 되어 오답이 나와야 할 것 같은데 정답이 나와 질문드립니다! 먼저 방문을 하고 어차피 이동을 못하니까 결과가 같을 거라고 예상은 되지만 큰돌님의 답변이 궁금합니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/4407e944ea384e408f615a6ef1ca8be5 http://boj.kr/b5895e45632846f2b6f7448082492dda 안녕하세요. 2-S 문제를 자바스크립트로 구현해보았는데 첫번째 링크의 코드와 두번째 링크 코드의 차이는 그래프를 맵으로 구현한 것과 배열로 구현한 것 차이라고 생각합니다. 맵 자료형의 Value에 해당하는 부분도 배열로 구현했기에 두 코드의 시간복잡도가 동일하다고 생각했는데 첫번째 링크는 통과하고 두번째 링크는 시간초과가 나옵니다. 맵으로 구현한 코드가 O(V+E)라면 배열로 구현한 코드가 O(V*E)라서 시간초과가 나는걸까요?? 감사합니다!
만약 기본 메서드로 virtual a() 를 정의한 후 첫번째 파생 클래스에서는 a() 로 정의를 하였습니다. 마지막 파생 클래스에서도 a() 로 정의했다면 어떻게 동작하는지 궁금해서 여쭤 봅니다. 제 생각에는 기본하고 첫번째 파생 사이에는 virtual 처럼 즉 기본을 호출해도 파생이 호출될 거 같은데 두번째 파생시에는 virtual 의 성격이 사라질 거 같습니다. 확인 부탁드립니다. 강사님
04_Constructor 테스트 중에 질문 드립니다. Test test01; 과 같이 선언하면 생성자와 소멸자가 모두 호출되는데 Test test02 = new Test(); 와 같이 호출하게 되면 소멸자는 호출되지 않습니다. 그 이유가 뭔지 궁금합니다. 친절한 강의 감사드립니다.
안녕하세요 선생님, 항상 강의 잘 보고 있습니다!! 이 문제 답의 visited가 1차원 배열이냐, 2차원 배열이냐에 따라서 시간복잡도 차이가 3배이상 나더라구요. 배열과 관련한 연산은 인덱스를 통한 참조와 삽입밖에 없는데 이렇게 차이가 많이 나는 이유가 뭘까요? 2차원 배열을 사용해서 통과한 답 첨부해드립니다. 감사합니다. http://boj.kr/8e9b226e7708455da2bee2555f8403db
인덱스를 음수로 사용할 수 없으니까 처음의 값들을 m최대값 10만이니 10만1 이상의 값에 값을 할당하셨는데. 그런데 10만2부터 사용하시고 10만1은 사용하시지 않으셨더라구요. 그래서 이해하는 과정에서 중요한건가 싶어서 10만도 해보고 10만1부터도 해보았습니다. 예로 update_idx = 100000 Update(update_idx , 1); mp[temp] = update_idx--; 이렇게 수정해보았습니다. 범위에 딱 맞으니까 10만개까지 딱 정보가 들어올 수 있게되는데 sum에서 잠시 생각해보니 tree[0] 인덱스에 10만번째 정보가 들어올 것이라고 생각이 들어서요 while(i>=0) 으로 바꾸어보았는데 .. (ㅋㅋ 왜 [1] 부터 하시라는지 알았습니다..) 당연히 무한루프를 돌았고 다시 while(i>0)으로 수정했는데 정답이 떴습니다. 사실 오답이어야 하는게 아닌가 싶어 질문드립니다.
안녕하세요 큰돌님:) 백준 3986 문제에 대해서 질문드리고 싶은 게 있습니다! http://boj.kr/00e868dc6fea4a5cbcb0048b32aed50b 위의 코드와 같이 st.push(s[0]); 을 먼저 한 다음 j=1 부터 반복문을 시작하면 왜 21112 segmentation fault 오류가 나오는지 궁금합니다..ㅜㅜ 그리고 제가 1주차 문제를 풀고 있는데 거의 3개 중에 하나 꼴로 틀리고 어떨 땐 연속으로 계속 틀리는데 강의를 들으면 설명을 잘해주셔서 이해안되는 부분 없이 전부 이해가 가긴 합니다.. 접근법을 배우는 거에 의의를 두고 틀려도 계속 진도 나가면서 풀고있기는 한데 자꾸 틀리니까 위축이 되어서요..ㅠㅠ 지금처럼 꾸준히 진도 나가는 것이 맞을까요?? 제 수준에서는 다시 교안으로 돌아가야 하는지.. 모르겠습니다 조언해주시면 감사합니다..! 마지막으로 선생님께서 올려주신 추천문제들만 복습해서 봐도 코테 마스터 할 수 있을까요..? ㅜㅜ 아니면 다른 문제들도 함께 겸해서 공부해야하는지 궁금합니다 감사합니다.
처음 강의 들을 때에는 BFS, DFS기본 문제도 못풀었는데 풀었던 문제들 다시 풀어보고 또 풀어보면서 BFS, DFS, 조합 등에 익숙해지니 이런 문제들도 혼자 풀 수 있는 날이 오네요 ㅠㅠㅠ http://boj.kr/9831abd022b2486f9421eb048c8ae62d 제 나름대로 배웠던 지식들 활용해서 풀어봤습니다. 선생님 풀이보다 10ms정도 시간이 더 느린 것은 메모리를 복사하는 과정에서 늦어지는 것일까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/479470df1029497d9df3d10d7ce3e633 방식은 현재 골 넣은 시간을 입력 받고 원래 이기고 있던 상황이거나 상대가 골 넣었는데도 아직도 이기고 있는 상황에서 이전 시간과 현재 시간의 차이 만큼 팀의 승리 시간에 추가하는 방식입니다. 두 팀의 골이 같아진 경우에는 마지막으로 골을 넣은 팀의 상대 팀의 승리 시간을 추가했습니다. 마지막으로는 경기 종료 48분까지 이기고 있는 팀의 시간을 추가해서 출력했는데 예제 3번까지는 맞게 나오는데 제출해보면 틀리다고 나옵니다. 어디가 틀린 걸까요?
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
암시적 복사 생성자는 암시적 기본 생성자와는 달리 명시적으로 기타 생성자를 만들어도 그대로 작동이 잘 되는 것 같은데 문법 상으로 원래 이런 것인가요? 그리고 다른 객체들의 경우 return 0; 이후에 소멸자를 호출하고 있지만 Knight k5; k5 = (Knight)1;의 k5는 return 0; 이전에 소멸자가 호출되는 것 같은데 이유가 무엇인가요?
안녕하세요 선생님 알고리즘 교안 m2 초기 셋팅 관련하여 아래와 같이 질문드립니다.brew는 설치 완료 하였고 bits/stdc++.h 파일 생성에서 문제가 되는데요.아래과 같은 경로로 가서 코드 모두 복사하고 vi편집기를 빠져 나오게 되면 아래와 같이 파일 생성이 되지않습니다.이후 파일 생성이 되지 않아 다시 파일을 생성하려고 하면 스왑하라는 두번째와 같은 창이 뜨게됩니다.확인한번만 부탁드립니다.
안녕하세요 수민님 ㅎㅎ 해당 함수에서 시간복잡도가 어느정도 큰 주요 로직이라고 보시면 됩니다. 예를 들어 #include<bits/stdc++.h> using namespace std; int N, cnt; void solve(int N){ cnt++; cout << cnt << '\n'; if(N == 0) return; for(int i = 0; i < 3; i++){ solve(N - 1); } return; } int main(){ cin >> N; solve(N); return 0; } 이 solve라는 함수에서 주요한 로직은 for(int i = 0; i < 3; i++){ solve(N - 1); } 이부분입니다. --------------------------------------------------- 최근 질문에 큰돌님께서 작성하신 답변을 제가 일부 가져왔습니다. 여기서는 메인 로직 즉, 주요 로직이 반복문이라고 설명하셨는데, 강의 5:22초에는 메인 로직이 출력문이라 O(1)이라고 말씀하십니다. 강의내용과 질문게시판 답변 중 뭐가 맞는 건가요?
안녕하세요 선생님. 강의 잘 듣고 있습니다. 오늘 기점으로 2단원 dfs/bfs 다 끝나서 3단원 완전탐색 백트래킹 단원을 공부 시작하려고 합니다. 다름이 아니라 6단원( 이분탐색, LIS ) 은 4,5단원을 먼저 공부하고 난 뒤 듣는게 더 효율적일까요? 아니면 3단원 끝나고 들어도 될까요? 학교와 병행중이라서 중간고사 전에는 3단원을 끝낸 후 4,5단원을 하기 전에 문제 수가 그나마 적은 6단원을 먼저 들으려고 하는데 단원이 뒤에 있어서 이유가 있을까 싶어 질문하게 되었습니다!
범위 확인 후 배열 선언할때 만약 n이 10,000 이하라고 하면 n[10004] 이런식으로 선언하는데 문제마다 코드를 보면 어떤건 n[10001] 어떤건 n[10004] 이렇게 선언되어있는걸 확인했습니다. 이게 이유가 있다면 정확이 어떤건지 그냥 의미 없는건지 궁금합니다. 10,000 이하라고 하면 n[10000] 이렇게 선언하는게 틀린 이유도 무엇인지 궁금합니다