inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

2-b for과 while

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 선생님 저는 2-b문제를 두가지 방법으로 풀었는데 맞왜틀이라 질문드립니다. 첫번째 코드: https://www.acmicpc.net/source/75257463 두번째 코드: https://www.acmicpc.net/source/75257408 첫번째 코드와 두번째 코드의 차이는 k를 while로 돌리느냐, for로 돌리느냐 차이입니다. 첫번째 코드에서 while로 돌렸고 틀렸다고 나오는데, while이 어떤 문제로 틀렸다고 나오는걸까요? 결과물은 똑같은거같은데..

  • c++
  • 코딩-테스트
박기윤 댓글 1 좋아요 0 조회수 199

하나만 더 질문하겠습니다.

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

http://boj.kr/d5416161871e4bf3bdf3badcbae8c77c 벡터를 이용해서 풀어보았는데 어떤 부분에서 예외처리가 부족한지 못찾고 있습니다. 루트 노드를 삭제할 때, 중간 노드를 삭제할 때, 리프 노드를 삭제할 때 3가지 확인하였고, 루트노드가 0번이 아닐 수 있는 것도 확인했습니다. 어떤 반례가 있을까요?

  • c++
  • 코딩-테스트
donald010 댓글 2 좋아요 0 조회수 229

5-C 시간초과 질문있습니다.

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

먼저 강사님이 5-A에서 설명하신 코드 대로 똑같이 A,C를 풀 경우 맞습니다가 되고 A에서 저만의 방식으로 문제 푼 것에 대해서는 맞았다고가 되는데 C에서도 똑같이 저만의 방식 --> A에서 푼 방법으로 했을때는 시간초과가 뜹니다 혹시 어떤식으로 바꿔야 시간초과를 해결할 수 있을까요? http://boj.kr/df57741592ee44f8861e0ed09227b476

  • c++
  • 코딩-테스트
요가인 댓글 1 좋아요 0 조회수 198

8-B) 시간 복잡도 질문

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 항상 강의 잘 듣고 있습니다! 이 문제를 처음에 접근할 때 문제 하나를 클리어 할 수 있다면 상태값 STR , INT를 변화하면서 재귀를 도는 로직을 생각했습니다. 그러니 당연히 상태값 (STR,INT)이 겹치는 부분이 있고 DP로 풀면 효율적이겠거니 생각했는데요.. 아쉽게도 조금 틀렸지만 ㅜㅜ 선생님이 0~1000, 1000~0 딱봐도 많다! 하셨던게 1000^50을 말씀하신걸까 궁금증이 생겨서 질문드립니다.

  • c++
  • 코딩-테스트
mch473700 댓글 1 좋아요 0 조회수 182

증감연산자 오버로딩

미해결

홍정모의 따라하며 배우는 C++

안녕하세요 궁금한 것이 있어 여쭤봅니다 교수님께서 전위증가연산자 오버로딩 코드를 이렇게 짜셨습니다. class Digit { private: int m_digit; public: Digit(int digit = 0) : m_digit(digit) {} //prefix Digit& operator ++ () { ++m_digit; return *this; } friend ostream& operator << (ostream& out, const Digit& d) { out << d.m_digit; return out; } }; 아래는 main 함수 부분이고요 int main() { Digit d(5); cout << ++d << endl; cout << d << endl; return 0; } 여기 멤버함수로 구현이 돼있는데요 Digit& operator ++ () { ++m_digit; return *this; } cout << ++d << endl; 에서 d 를 만난다음 d 가 ++연산자를 호출할텐데 ++m_digit; 이렇게 d 인스턴스의 m_digit 을 바로 1증가 시켜준다면 그냥 여기서 끝나면 되는 것 아닌가요? 인스턴스 d 가 호출한 ++연산자에서 인스턴스 d 의 m_digit 을 직접 1증가 시켜줬는데, 위에서 operator ++ 왼쪽에 적혀 있는 리턴형인 Digit& 과 리턴하는 값인 return *this; 가 대체 무엇을 하는지 그 작동과정이 전혀 감이 안 잡혀서 구글링도 하고 그랬는데 원하는 것을 얻지 못한 거 같습니다 ㅠㅠ 자세한 설명 부탁드려도 될까요? 감사합니다

  • c++
Echapper4 댓글 2 좋아요 1 조회수 377

알고리즘 교안 32p

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 선생님! 알고리즘 공부를 이제 막 시작한 학생입니다 😀 다름이 아니라 강의 중에 보여지는 알고리즘 교안과 제공해주신 알고리즘 교안이 차이가 있는 것 같아서 질문드립니다. 혹시 강의 중에 보여지는 교안은 어디서 다운받는지 알려주실 수 있을까요..? <강의에 보여지는 교안> <제공해주신 교안>

  • c++
  • 코딩-테스트
한유태 댓글 1 좋아요 1 조회수 226

클래스 멤버 함수에 대한 질문

해결됨

홍정모의 따라하며 배우는 C++

안녕하세요! 이번 강의에 대해 이해가 어려운 부분이 있어서 질문드립니다. 1분 10초 쯤부터 교수님께서 이렇게 말씀하십니다. ''setID와 getID는 함수인데, 그렇다면 이 함수들이 s1과 s2에 각각 따로 들어가 있을까?" "그렇지 않다. 하나를 만들어놓고 중복해서 사용 한다." "Simple 이라는 클래스의 모두가 공유해서 사용한다" 그렇다면, s1과 s2에서 사용하는 setID와 getID의 주소는 같다는 것일까요? 같다면, 어떻게 출력으로 확인해볼 수 있나요? 질문이 많이 부족하지만 늘 많은 도움 주셔서 감사드립니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • c++
tmddn2703 댓글 1 좋아요 2 조회수 273

5-T 질문, 시간초과 (moveShark)

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

오래 걸렸지만, 혼자 풀어서 정답처리가 되었는데, 모듈러 연산으로 moveShark를 한것이 아니고, 한 칸 한 칸 이동하는 방식이었습니다. 운 좋게 통과한 것 같네요. #include <bits/stdc++.h> using namespace std; int R, C, M; vector<vector<tuple<int, int, int>>> B; void moveShark(vector<vector<tuple<int, int, int>>>& B){ vector<vector<tuple<int, int, int>>> tempB = B; vector<vector<int>> visited(R+1, vector<int>(C+1,0)); for(int i = 1 ; i <= R; ++i){ for(int j = 1; j <= C; ++j){ int speed = get<0>(B[i][j]); int delta = get<1>(B[i][j]); // d:up(1), d:down(2), d:right(3), d:left(4) int size = get<2>(B[i][j]); if (size != 0){ if (visited[i][j] == 0) tempB[i][j] = {0,0,0}; if (delta == 1){ int s = i; int mov = -1; int sd = speed; while(sd > 0){ if ((s+mov >= 1) && (s+mov <= R)) s = s+mov; else{ s = s-mov, mov *= -1;} if ((s == 1) || (s == R)) mov *= -1; sd--; } if (visited[s][j] == 0 ||get<2>(tempB[s][j]) < size){ if (mov == -1) tempB[s][j] = {speed, 1, size}; else tempB[s][j] = {speed, 2, size}; visited[s][j] = 1; } } else if (delta == 2){ int s = i; int mov = 1; int sd = speed; while(sd>0){ if ((s+mov >= 1) && (s+mov <= R)) s = s+mov; else s = s-mov, mov *= -1; if ((s == 1) || (s == R)) mov *= -1; sd--; } if (visited[s][j] == 0 || get<2>(tempB[s][j]) < size){ if (mov == -1) tempB[s][j] = {speed, 1, size}; else tempB[s][j] = {speed, 2, size}; visited[s][j] = 1; } } else if (delta == 3){ int s = j; int mov = 1; int sd = speed; while(sd>0){ if ((s+mov >= 1) && (s+mov <= C)) s = s+mov; else s = s-mov, mov *= -1; if ((s == 1) || (s == C)) mov *= -1; sd--; } if (visited[i][s] == 0 || get<2>(tempB[i][s]) < size){ if (mov == -1) tempB[i][s] = {speed, 4, size}; else tempB[i][s] = {speed, 3, size}; visited[i][s] = 1; } } else if (delta == 4){ int s = j; int mov = -1; int sd = speed; while(sd>0){ if ((s+mov >= 1) && (s+mov <= C)) s = s+mov; else s = s-mov, mov *= -1; if ((s == 1) || (s == C)) mov *= -1; sd--; } if (visited[i][s] == 0 || get<2>(tempB[i][s]) < size){ if (mov == -1) tempB[i][s] = {speed, 4, size}; else tempB[i][s] = {speed, 3, size}; visited[i][s] = 1; } } } } } B = tempB; } int fishShark(vector<vector<tuple<int, int, int>>>& B, int c){ int size = 0; for(int i = 1; i <= R; ++i){ size = get<2>(B[i][c]); if (size != 0){ B[i][c] = {0,0,0}; break; } } return size; } void debug(){ for(int i = 1; i <= R ; ++i){ for(int j = 1; j <= C ; ++j){ cout << get<0>(B[i][j]) << "," << get<1>(B[i][j]) << "," << get<2>(B[i][j]) << "\t" ; } cout << endl; } } int main(){ cin >> R >> C >> M; B = vector<vector<tuple<int, int, int>>>(R+1, vector<tuple<int, int, int>>(C+1, {0,0,0})); int r, c, s, d, z; for(int i =0 ; i < M ; ++i){ cin >> r >> c >> s >> d >> z; B[r][c] = {s, d, z}; } long long ret = 0; for(int i = 1; i <= C ; ++i){ // cout << i << "th" << endl; // debug(); ret+=fishShark(B, i); // cout << "SZ: " << ret << endl; moveShark(B); } cout << ret; return 0; }

  • c++
  • 코딩-테스트
윽쓰욱스 댓글 1 좋아요 0 조회수 190

5-B stack 질문있습니다

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

98퍼에서 틀렸다고 뜨는데 반례를 도저히 못찾겠어서 질문 남겨봐요! http://boj.kr/976bc09df4c24ac3bb144e15767bdf41

  • c++
  • 코딩-테스트
요가인 댓글 1 좋아요 0 조회수 171

5-B erase풀이법 질문 있습니다.

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 선생님 먼저 시간 복잡도에 관해서 질문이 있는데 왜 이중 for문으로 100만 X 100만이 무식하게 풀었을 때의 시간복잡도인지 잘 모르겠습니다. 두번째로 최대의 시간 복잡도일때가 CC....CC444..44 (각 50만개씩 일때) C4를 폭발 하는게 최대가 아닌가요 ? 마지막으로 http://boj.kr/6586bfc6badd4b5b9d1653b7a2462d1a 이게 왜 시간초과인지 잘 모르겠습니다.

  • c++
  • 코딩-테스트
요가인 댓글 1 좋아요 0 조회수 137

3D 입문 프로젝트 설정강의 마지막 삼각형이 안나와요

미해결

[게임 프로그래머 도약반] DirectX11 입문

fx파일 로드랑 테크닉, 패스 갯수랑 모두 정상이고, draw 실행도 들어오는데 빨강 삼각형이 안뜹니다.. 그래픽 카드는 AMD 쓰고있어요. 강의자료 다운받은거로 해봐도 회색 화면만 뜹니다 ㅠㅠ

  • c++
  • directx
라이언 댓글 2 좋아요 1 조회수 317

프로그래머스 추천문제

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

안녕하세요 강의를 끝까지 거의 수강하고 프로그래머스 추천문제를 풀고있습니다. 그런데 문제 추천 텍스트파일에 split함수쓰기라고 되어있는 문제가있는데 C++에는 split기능이 없지않나요?? 파이썬에 대한 말씀이신지 궁금해서 질문드립니다.

  • c++
  • 코딩-테스트
cleonn7878 댓글 1 좋아요 0 조회수 329

5-B 시간초과

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

http://boj.kr/11f4fe5e2b174361968323f94b94f219 http://boj.kr/8b939f4ade88488f89afc3b312f8867d 위 2개의 코드의 차이점은 +=사용 유무인데 res+=c;를썻을때는 통과가 되었지만 res=res+c를 썻을때는 시간초과가 났습니다. +=유무가 이렇게 유의미한 차이를 만들어내는 건가요?? 왜 이런지 이유가 궁금합니다.

  • c++
  • 코딩-테스트
ㄱㄷㄱ 댓글 1 좋아요 0 조회수 195

시간복잡도 관련 질문 드립니다

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의에서는 시간복잡도가 13 combi k * 100 이라고 말씀하셨는데, 제 생각을 정리하자면 다음과 같습니다. 모든 치킨집 중에 사용가능한 치킨집을 뽑는다. 그리고 뽑은 경우의 수마다 모든 집들과의 최소거리를 구한다. 이 때 만일 치킨집을 3개 뽑았고 모든 집의 갯수가 2개라면 한집마다 3개의 치킨집과의 거리를 비교해야한다. 따라서 이 로직은 문제 조건에 따라 13 combi k * 100 * k 의 시간복잡도를 갖는다. 그래서 제 생각에는 13 combi k * 100 * k 의 시간복잡도를 가질 거 같은데 혹시 실수한 부분이 있을까요? 감사합니다.

  • c++
  • 코딩-테스트
ukgi 댓글 1 좋아요 1 조회수 204

3-E 질문

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

for(int i=0;i<6;i++){ int na = max(0,a - S[i][0]); int nb = max(0,b - S[i][1]); int nc = max(0,c - S[i][2]); if(visited[na][nb][nc]) continue; visited[na][nb][nc] = visited[a][b][c] + 1; Q.push({na,nb,nc}); } 이 코드에서 for문을 통해 6가지 경우를 따질 경우, 6가지 경우를 visited[][][] 이 하나의 배열에서 따지면 각 경우에서 값들이 안 겹치는 이유가 뭔가요..? 저는 처음에 값이 겹칠 경우를 고려하여 배열을 다 따로 해야된다고 판단했네요 ㅠㅠ

  • c++
  • 코딩-테스트
Eunwoo 댓글 1 좋아요 0 조회수 204

이 코드는 왜 YES만 Success인가요?

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

안녕하세요. 선생님. 영상도 참고하면서 제 방식대로 조금 짜봤는데 잘 안되서 여쭤봅니다. #include <bits/stdc++.h> using namespace std; int n, res = 0; int a[101]; int main() { cin >> n; vector<int> ch(n); for(int i = 0; i < n; i++) { cin >> a[i]; } for(int i = 0; a[i]!='\0'; i++) { res = abs(a[i]-a[i+1]); if( res > 0 && res < n && ch[res] == 0 ) { ch[res] = 1; } } // 이 부분입니다. for(int i = 0; ch[i] != '\0'; i++) { if(ch[i] == 0) { cout << "NO"; return 0; } } cout<<"YES"; return 0; } 3번째 for문에서 i < n을 하면 NO부분에서만 success가 뜨고 위와 같이 하면 Yes부분에서만 Success가 뜹니다. 도움부탁드리겠습니다. 감사합니다.

  • c++
  • 코딩-테스트
메구밍 댓글 1 좋아요 0 조회수 227

1-N 질문 드립니다

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요 큰돌님 😀 1-N 백준 1629 문제에서 제공해주신 코드에 #include<bits/stdc++.h> using namespace std; typedef long long ll; ll a, b, c; ll go(ll a, ll b){ if(b == 1) return a % c; ll ret = go(a, b / 2); ret = (ret * ret) % c; if(b % 2)ret = (ret * a)% c; return ret; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> a >> b >> c; cout << go(a, b) << "\n"; return 0; } 여기에서 if(b % 2)ret = (ret * a)% c; 원래 공식에 대입하면 이 부분에 (ret * a % c) % c 가 들어오는 것이 맞지 않나요..? 어떻게 이렇게 되는지 궁금합니다 ㅜㅜ go(2, 3) 이라고 할 때, 이렇게 되어서 if(b % 2)ret = (ret * a)% c; 이 아니라, if(b % 2)ret = (ret * (a % c))% c; 가 된다고 생각했는데 설명해주시면 감사합니다..ㅜㅜ 다른 질문에 답변 달아주신 내용 확인해서 이해하였습니다~!!

  • c++
  • 코딩-테스트
Clain 댓글 2 좋아요 0 조회수 158

반환유형이 클래스형 참조

해결됨

C개발자를 위한 최소한의 C++

안녕하세요 강사님, 반환 유형이 클래스 참조일 때 질문이 있습니다. 반환유형이 클래스형인 것보다는 메모리 효율을 위해서 클래스형 참조로 선언을 하는데, 반환하는 참조가 함수 내부에서 생성된 지역 인스턴스의 참조라면 함수 스코프를 벗어나면 해당 인스턴스는 소멸되므로 main함수에서는 참조를 못하게 되는 것 아닌가요? 이런 경우에는 반환 유형을 클래스형 참조가 아닌 클래스형으로 선언하는게 적절할까요? 감사합니다!

  • c++
  • microsoft-windows
  • 객체지향
  • 디자인-패턴
댓글 1 좋아요 0 조회수 246

임시객체와 관련하여 질문드립니다

해결됨

C개발자를 위한 최소한의 C++

강사님 복사 생성자에서 만들어지는 임시객체와 이동생성자에서 만들어지는 임시 객체의 차이를 아무리 테스트해도 모르겠읍니다. 두 생성간에 사용자가 처리하는 로직만 틀릴 뿐인지요? 아울러 선언으로 생성되는 클래스 인스턴스는 스택에 생성되고 new로 생성되는 인스턴스는 heap에 생성되는건지요?

  • c++
  • microsoft-windows
내일은 한걸음 더 나아갈거야 댓글 1 좋아요 0 조회수 160

인기 태그

인프런 TOP Writers

주간 인기글