inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

cmp 하는 부분에 대해서 궁금합니다.

미해결

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

커스텀 비교함수 부분 교안을 다시 보았는데 이해가 가지 않아서 이렇게 질문 드립니다. 매개변수로 넘겨주는 a, b는 v.begin(), v.end()의 값이 들어가는 것인가요?

  • c++
  • 코딩-테스트
Lim sumin 댓글 1 좋아요 0 조회수 186

7-O 질문있습니다!

미해결

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

http://boj.kr/f398698f0d8a46a59a9f1de55aff3402 선생님과 비슷한 방법으로 vector접근해서 풀고 있는데 for (auto w = pos; w != v[status[i].y][status[i].x].end();w++) { v[ny][nx].push_back(*w); status[*w].y = ny; status[*w].x = nx; } 여기서 자꾸 에러가 뜨는 이유가 궁금합니다!

  • c++
  • 코딩-테스트
정윤교 댓글 1 좋아요 0 조회수 136

CMake 출시 연도가 영상에서 아마도 잘못 소개된 것 같습니다

해결됨

삼각형의 실전! CMake 초급

안녕하세요. 좋은 강의를 만들어주셔서 감사합니다! <CMake 소개> 영상 내용 중 CMake 출시 연도와 관련하여 잘못된 정보가 있는 것 같아 글을 남깁니다. <CMake 소개> 영상의 0:25 부근입니다. 아래 슬라이드와 함께 나오는 부분입니다. 위 슬라이드에는 " 2013년 10월 처음 공개(v2.8.12) "라고 나오고, 영상 0:25 부분에서는 삼각형님이 " CMake는 2013년에 처음 출시가 되었습니다 "라고 설명하시는 음성이 나옵니다. 위 내용대로 2013년에 CMake가 처음 출시 되었다면 올해가 2024년이니 11년 정도의 역사를 가진 프로그램이라는 의미 입니다. 슬라이드 상의 " 20+년차 프로그램 "이라는 내용과 맞지 않습니다. 인터넷 검색을 해보니 CMake가 처음 공개된 연도는 2000년 으로 나옵니다. https://en.wikipedia.org/wiki/CMake https://cmake.org/history/ 아마 영상을 찍는 과정에서 무언가 착오가 있었던 것 같습니다. (위 슬라이드에서 v2.8.12를 언급한 것은 Modern이 아닌 CMake의 마지막 버전을 말씀하시고 싶었던 것이 아닌가 추측합니다. 이 추측이 맞을까요? v2.8.12를 위 슬라이드에서 언급하신 본래 이유는 무엇일까요?) 이 부분을 한번 검토해주시고 정확한 내용을 영상에 반영해주실 수 있을까 해서 글을 남깁니다. 감사합니다!

  • c++
  • cmake
  • vcpkg
이규태 댓글 1 좋아요 0 조회수 198

문제 풀 때 주석처리

미해결

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

실제 시험장에서 주석으로 제가 간단하게 알 수 있도록 설명을 적어두고 문제를 풀 경우 제출할 때에는 주석을 다 지워줘야될까요? 길이가 길어지니까요? 아니면 그정도는 별로 영향이 안미칠까요? 예를 들면 http://boj.kr/ec4795ae62434cbd8a776dfbada39596 이러한 상황입니다.

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

3-D 뭐가 문제인지 잘 모르겠습니다..

미해결

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

안녕하세요 선생님 강의 잘 보고 있습니다. 아래의 코드가 왜 탈락하는 지 잘 모르겠습니다..ㅜ /****************************************************************************** Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl, C#, OCaml, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog. Code, Compile, Run and Debug online from anywhere in world. *******************************************************************************/ #include <iostream> #include <queue> #include <vector> #include <string> #include <cmath> std::string map[1000]; bool visited[1000][1000]; bool visitedFire[1000][1000]; int personMap[1000][1000]; int fireMap[1000][1000]; int exitY, exitX; int cnt; #define INF 420000000 void bfsFire(const int y, const int x, const int R, const int C) { std::queue<std::pair<int, int>> que; que.push({y, x}); visitedFire[y][x] = true; int newX, newY, currX, currY; int dx[4] = {1, -1, 0, 0}; int dy[4] = {0, 0, 1, -1}; while(que.empty() != true) { currY = que.front().first; currX = que.front().second; que.pop(); for(int i = 0; i < 4; ++i) { newY = currY + dy[i]; newX = currX + dx[i]; if (newX >= 0 && newX < C && newY >= 0 && newY < R && !visitedFire[newY][newX] && map[newY][newX] != '#') { que.push({newY, newX}); fireMap[newY][newX] = std::min(fireMap[currY][currX] + 1, fireMap[newY][newX]); visitedFire[newY][newX] = true; } } } } void bfs(const int y, const int x, const int R, const int C) { std::queue<std::pair<int, int>> que; que.push({y, x}); visited[y][x] = true; int newX, newY, currX, currY; int dx[4] = {1, -1, 0, 0}; int dy[4] = {0, 0, 1, -1}; while(que.empty() != true) { currY = que.front().first; currX = que.front().second; que.pop(); if (currY == R - 1 || currX == C - 1) { cnt = personMap[currY][currX]; return; } for(int i = 0; i < 4; ++i) { newY = currY + dy[i]; newX = currX + dx[i]; if (newX >= 0 && newX < C && newY >= 0 && newY < R && !visited[newY][newX] && map[newY][newX] == '.') { if (fireMap[newY][newX] > personMap[currY][currX] + 1) { que.push({newY, newX}); personMap[newY][newX] = personMap[currY][currX] + 1; } visited[newY][newX] = true; } } } } bool isPossible(int R, int C) { for (int i = 0; i < R; ++i) { if (personMap[i][0] < fireMap[i][0]) return true; if (personMap[i][C - 1] < fireMap[i][C - 1]) return true; } for (int i = 0; i < C; ++i) { if (personMap[0][i] < fireMap[0][i]) return true; if (personMap[R - 1][i] < fireMap[R - 1][i]) return true; } return false; } int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); int R, C; std::cin >> R >> C; std::vector<std::pair<int, int>> fire; exitX = C; exitY = R; int y, x; std::fill(&fireMap[0][0], &fireMap[999][1000], INF); for(int i = 0; i < R; ++i) { std::cin >> map[i]; for (int j = 0; j < C; ++j) { if (map[i][j] == 'J') { y = i; x = j; personMap[i][j] = 1; } else if (map[i][j] == 'F') { fireMap[i][j] = 1; fire.push_back({i, j}); } } } bfs(y, x, R, C); for(int i = 0; i < fire.size(); ++i) bfsFire(fire[i].first, fire[i].second, R, C); if (!isPossible(R, C)) cnt = 0; if(cnt == 0) { std::cout << "IMPOSSIBLE" << std::endl; } else { std::cout << cnt << std::endl; } return 0; }

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

multiset

미해결

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

안녕하세요. 좋은 강의 잘 보고 있습니다. 다름이 아니라 교안 공부 중에 multiset의 존재 이유가 궁금해서 그러는데 중복을 허용하면 multiset이 필요한 이유가 있을까요? 혹시 예시를 알 수 있을까요?!

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

2870 재질문입니다.

해결됨

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

2870 반례부탁드립니다. - 인프런 (inflearn.com) 재질문입니다. 제시해주신 비교함수로 하니 성공을 했습니다. 그런데 제 로직은 어디서 잘못되었나요?제가 이해하기로제시해주신 로직은 size가 다르다면, 그 크기에 대해서 참 거짓 판별 size가 같다면, a와 b의 모든 자리수를 비교하여, 참 거짓 판별 인것 같습니다.제 로직또한 비슷한 로직 같습니다...어디서 잘못되었을까요?

  • c++
  • 코딩-테스트
문상준 댓글 1 좋아요 1 조회수 105

4949 반례 부탁드립니다.

미해결

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

우선 제 로직은 // stk이 비어있는 경우 // ch가 열린 괄호인 경우 // push(ch); // ch가 닫힌 괄호인 경우 // push(ch); break; // stk이 비어있지 않은 경우 // ch가 열린 괄호인 경우 // top()이 닫힌 괄호인 경우 && 형태가 다름 // top()이 닫힌 괄호인 경우 && 형태가 같음 // top()이 열린 괄호 && 형태가 다름 // top()이 열린 괄호 && 형태가 같음 // ==> 위의 4경우 모두 push(ch); // ch가 닫힌 괄호인 경우 // top()이 닫힌 괄호인 경우 && 형태가 다름 // top()이 닫힌 괄호인 경우 && 형태가 같음 // ==> 위의 2경우 모두 push(ch); // top()이 열린 괄호인 경우 // 형태가 다른 경우 // break; // 형태가 같은 경우 // pop(); 이후// stk이 비어있는 경우 // yes// stk이 비어있지 않는 경우 // no입니다. #include <bits/stdc++.h> using namespace std; int main(){ string input; getline(cin,input); string ret; while(input!="."){ stack<char> stk; for(int i=0;i<input.size();i++){ char ch=input.c_str()[i]; if(ch!='('&&ch!=')'&&ch!='['&&ch!=']') continue; // stk이 비어있는 경우 if(stk.empty()){ // ch가 열린 괄호인 경우 if(ch=='('||ch=='['){ // push(ch); stk.push(ch); } // ch가 닫힌 괄호인 경우 else{ // push(ch); break; stk.push(ch); break; } } // stk이 비어있지 않은 경우 else{ // ch가 열린 괄호인 경우 if(ch=='('||ch=='['){ // top()이 닫힌 괄호인 경우 && 형태가 다름 // top()이 닫힌 괄호인 경우 && 형태가 같음 // top()이 열린 괄호 && 형태가 다름 // top()이 열린 괄호 && 형태가 같음 // ==> 위의 4경우 모두 push(ch); stk.push(ch); } // ch가 닫힌 괄호인 경우 else{ // top()이 닫힌 괄호인 경우 && 형태가 다름 // top()이 닫힌 괄호인 경우 && 형태가 같음 // ==> 위의 2경우 모두 push(ch); if(stk.top()==')'||stk.top()==']'){ stk.push(ch); } // top()이 열린 괄호인 경우 else{ // 형태가 다른 경우 if(stk.top()=='('&&ch==']'){ // break; break; } else{ // 형태가 같은 경우 // pop(); stk.pop(); } } } } } // stk이 비어있는 경우 if(stk.empty()){ // yes ret+="yes\n"; } // stk이 비어있지 않는 경우 else{ // no ret+="no\n"; } getline(cin,input); } printf("%s",ret.c_str()); return 0; } 거의 대부분의 반례를 넣어도 통과가 됩니다. 어디서 잘못되었나요?

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

1-i터미널 출력 오류

미해결

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

http://boj.kr/8c16deca7aff40bf8ebcac1951088706 코드는 이렇게 작성했습니다. vscode에서 입력을 복사해서 실행해보면 이런식으로 kakuna가 짤려서 나오고 중간에 피카츄가 들어가버립니다.. 틀린줄 알고 한참 고민했는데 백준에 제출하면 정답이라고 뜨네요.. 설정이 잘못된걸까요??

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

3-J 질문

해결됨

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/b8d40cd1c6794ac0adc55bc9ef2d56f8 안녕하세요. 강의 기반으로 2차원 배열로 문제를 풀어봤는데 어떤 오류가 있는지 궁금합니다!

  • c++
  • 코딩-테스트
최문규 댓글 1 좋아요 1 조회수 155

공부방법에 대해서 질문이 있습니다.

미해결

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

문제풀이를 듣기 전에 최대 1시간 제한을 정해두고 그 안에 못 풀면 강의를 듣고 시간 안에 풀면 바로 강의 듣고 넘어가고 못풀었던 문제들만 복습해보면서 풀면 될까요? 대기업 꼭 가고 싶습니다!

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

계층구조 질문있습니다.

미해결

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

탱크를 그릴떄 본매트릭스를 넘겨줘서 포지션을 이동시켜주는것처럼 탱크의 노말도 본매트릭스를 이용하여 회전시켜주는게 맞지않나용?

  • c++
  • directx
pakheae 댓글 1 좋아요 0 조회수 225

2870 반례부탁드립니다.

해결됨

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

우선 제 로직은, input string을 0번 index부터 확인해서, 문자이면 넘어가고, 숫자이면, find_number()함수로, 이후 연속된 숫자를 찾아, delete_zero()함수로, 해당 숫자(found_number)의 0을 삭제합니다. 이후, bigStringIntCompare()함수로, sort()하여, 출력합니다. 백준에 질문 게시판의 모든 반례를 검사해보았는데, 전부 통과했는데, 틀렸다고 합니다.반례부탁드립니다. #include <bits/stdc++.h> using namespace std; int N; string find_number(string str){ string ret; for(int i=0;i<str.size();i++){ if(isdigit(str.c_str()[i])) ret+=str.c_str()[i]; else break; } return ret; } string delete_zero(string str){ int how_many_delete_zero=0; for(how_many_delete_zero=0;how_many_delete_zero<str.size();how_many_delete_zero++){ if(str.c_str()[how_many_delete_zero]!='0') break; } if(how_many_delete_zero==str.size()) return "0"; return &str.c_str()[how_many_delete_zero]; } bool bigStringIntCompare(string a,string b){ if(a.size()<b.size()) return true; else if(a.size()>b.size()) return false; else{ for(int i=0;i<a.size();i++){ if(a.c_str()[i]>b.c_str()[i]) return false; } return true; } } int main(){ cin>>N; // vector<int> ret; vector<string> ret; while(N-->0){ string input; cin>>input; for(int i=0;i<input.size();i++){ if(isdigit(input.c_str()[i])){ string found_number=find_number(&input.c_str()[i]); // printf("found number : %s\n",found_number.c_str()); // ret.push_back(atoi(found_number.c_str())); string ret_number=delete_zero(found_number.c_str()); // printf("ret_number : %s\n",ret_number); ret.push_back(ret_number); i+=found_number.size()-1; } } } sort(ret.begin(),ret.end(),bigStringIntCompare); // for(int i=0;i<ret.size();i++) printf("%d\n",ret[i]); for(int i=0;i<ret.size();i++) printf("%s\n",ret[i].c_str()); return 0; }

  • c++
  • 코딩-테스트
문상준 댓글 1 좋아요 -1 조회수 125

3 - G 질문

미해결

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

http://boj.kr/18c230a9615a4114af7dcbe7a5d3dee7 안녕하세요 선생님 제가 코드를 짜보았을때 제 생각은visited[here] + 1 이 visited[there] 보다 작은경우 visited[there]값을 리셋해야된다고(visited[here] + 1로) 생각했습니다.선생님께서는 그러한 방식으로 코드를 짜지 않으셔서 그 이유가 뭔지 궁금합니다

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

프로그램 질문드려요

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

제가 현재 군인이어서 군복무중이어서 싸지방에서 강의를 듣고 구름ide라는걸로 실습을 하고있는데 다른건 다 문제없지만 지금 듣고있는이 객체지향적 TRPG를 공부할려고하면 구름ide는 prgma once도 정의가 안되고 파일분할도 제대로 하기 힘들고 답답합니다 헤더파일오류가 나와서 제대로 실습이 안되는데 혹시 어떻게 공부해야하는지 방안좀 주실 수 있으실까요ㅜ

  • c++
킴주니 댓글 1 좋아요 0 조회수 277

첫 강의 pch.h 작성 단계에서 LNK1104 오류가 납니다 ㅠ

미해결

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

pragma comment로 불러오는 다른 lib들은 다 에러 없이 넘어가는데요, 정작 걱정했던 DirectXTex 들은 조용하지만 LNK1104 'd3dcompiler.lib' 파일을 열 수 없습니다. 저 d3dcompiler친구만 오류를 뿜뿜합니다ㅠ 이를 어쩌면 좋을까요 선생님 😣

  • c++
  • directx
화사한 알파카 댓글 2 좋아요 0 조회수 466

1-G 질문입니다.

미해결

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

http://boj.kr/ffd2efb190a74fd4874666aed051a59b 안녕하세요 선생님. 나름대로 반례처리까지 다 했다 생각하는데 런타임 에러가 발생합니다. 예제는 통과하는데 어떤 점이 문제인지 잘 모르겠습니다 ㅜ

  • c++
  • 코딩-테스트
전호영 댓글 1 좋아요 0 조회수 148

4-O 맞왜틀 질문드립니다.

미해결

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

http://boj.kr/d7325e4e28e746d2b5be617cc3c6b18e 스택을 사용해서 풀었고 예제도 다 맞는데 4%에서 틀렸습니다가 나와서 충격이었습니다.. 어느부분이 틀린건지 알고싶습니다.

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

#include 질문

해결됨

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

해설코드에서는 모두 #include <bits/stdc++.h> 를 사용하던데 백준에서는 이걸 못쓰더라구요.. 대신 #include <iostream> , <algorithm> 등등 일일이 추가해야되던데 실제 기업 코딩테스트를 칠때도 후자처럼 일일이 추가해야하나요?

  • c++
  • 코딩-테스트
코딩하는사람 댓글 2 좋아요 0 조회수 192

2-S 메모리 초과 질문

미해결

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

안녕하세요 문제 풀다가 메모리 초과 관련해서 질문이 있어서 질문드립니다. 노드들 신뢰 관계를 2차원 배열 h[10001][10001] 로 선언하면 메모리 초과가 발생하고 vector<int> h[10001]로 선언하면 발생하지 않습니다. 동적으로 선언해도 최대 범위에 도달하게 되면 똑같은 메모리를 쓰는것 아닌가요?? vector선언시 메모리 초과가 발생하지않는지 궁금합니다!

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

인기 태그

인프런 TOP Writers

주간 인기글