inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

3-d 오답 질문드립니다.

미해결

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

// Online C++ compiler to run C++ program online #include <bits/stdc++.h> using namespace std; // 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. typedef pair<int,int> pp; int R,C; int visited[1004][1004]; char cmap[1004][1004]; int fmap[1004][1004]; int dx[4] = {0,0,1,-1}; int dy[4] = {-1,1,0,0}; //pp start; queue<pp> q; queue<pp> fq; bool outOfBound(int y, int x){ return (y < 0 || x < 0 || y >= R || x >= C ); } bool isExit(int y, int x){//탈출구 return (y == 0 || x == 0 || y == R - 1 || x == C -1); } bool isWall(int y, int x){ return cmap[y][x] == '#'; } void input(){ // 초기화 fill(&fmap[0][0],&fmap[0][0] + 1004 * 1004 , INT_MAX ); cin >>R>>C; for(int i=0;i<R;i++) for(int j=0;j<C;j++){ cin >> cmap[i][j]; if(cmap[i][j] == 'F'){//fire then fmap[i][j] = 1; fq.push({i,j}); } if(cmap[i][j] == 'J'){//출발 지점 q.push({i,j}); visited[i][j] = 1; } } } //bfs int solution(){ int y,x; int ny,nx; //bfs fire while(!fq.empty()){ tie(y,x) = fq.front(); fq.pop(); for(int i=0; i<4; i++){ ny = y + dy[i]; nx = x + dx[i]; if( fmap[ny][nx] != INT_MAX ) continue; //visited if(isWall(ny,nx) || outOfBound(ny,nx)) continue; fq.push({ny,nx}); fmap[ny][nx] = fmap[y][x] + 1; } } //bfs person while(!q.empty()){ tie(y,x) = q.front(); q.pop(); if(isExit(y,x)){ return visited[y][x]; } for(int i=0; i<4; i++){ ny = y + dy[i]; nx = x + dx[i]; if(visited[ny][nx] || isWall(ny,nx) || outOfBound(ny,nx)) continue; if(fmap[ny][nx] <= visited[x][y] + 1) continue; //이미 불이 있는 지역 q.push({ny,nx}); visited[ny][nx] = visited[y][x] + 1; } } return -1; } //solve void solve(){ input(); int result = solution(); if(result == -1) cout << "IMPOSSIBLE"; else cout << result; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); solve(); } bool outOfBound(int y, int x){ return (y < 0 || x < 0 || y >= R || x >= C ); } bool isExit(int y, int x){//탈출구 return (y == 0 || x == 0 || y == R - 1 || x == C -1); } bool isWall(int y, int x){ return cmap[y][x] == '#'; } 2% 오답 처리가 나는데 도저히 모르겠습니다. ㅠㅠ 위로 뺀 bool 컨디션 체크에서 문제가 생겼을 수도 있을 거 같은데.. 로직 구조가 해답과 거의 유사해서 어디서 문제가 생겼는지 디버깅 해도 안 보이네요 ㅠㅠ.. 그리고 ##### #J#F# ##..# #...# #...# 원본 반례 찾아보다가 시험 해본 케이슨데 해설지 답에서 걸러내지 못하는 것 같습니다. 코테 너무 어려워요 ㅠㅠㅠ 4179번: 불! (acmicpc.net)

  • c++
  • 코딩-테스트
euijae.lee0714 댓글 1 좋아요 0 조회수 214

테스트케이스는 잘 되는데 제출하면 에러

미해결

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

#include <bits/stdc++.h> using namespace std; int N, M; // 세로 : N int arr[8][8]; int visited[8][8]; int dx[] = { 0, 1, 0, -1 }; int dy[] = { -1, 0, 1, 0 }; int t = 1; int curVirus = 2; int cnt = 0; int maxCnt = 0; void BFS(int _y, int _x) { queue<pair<int, int>> q; q.push({ _y, _x }); int firstX = _x; int firstY = _y; while (q.size()) { tie(_y, _x) = q.front(); visited[_y][_x] = t; arr[_y][_x] = curVirus; q.pop(); for (int i = 0; i < 4; ++i) { int nx = _x + dx[i]; int ny = _y + dy[i]; if (nx < 0 || ny < 0 || nx >= M || ny >= N) continue; if (arr[ny][nx] == 0 && visited[ny][nx] != t) q.push({ ny, nx }); } } arr[firstY][firstX] = curVirus + 1; } void ClearSpreadVirus() { for (int y = 0; y < N; ++y) { for (int x = 0; x < M; ++x) { if (arr[y][x] == curVirus) arr[y][x] = 0; } } } void SpreadVirus() { for (int y = 0; y < N; ++y) { for (int x = 0; x < M; ++x) { if (arr[y][x] != curVirus) continue; if (visited[y][x] == t) continue; BFS(y, x); } } } void CountZero() { for (int y = 0; y < N; ++y) { for (int x = 0; x < M; ++x) { if (arr[y][x] == 0) ++cnt; } } } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin >> N >> M; for (int y = 0; y < N; ++y) { for (int x = 0; x < M; ++x) { cin >> arr[y][x]; } } // 1. 브루트포스로 벽을 세운다. for (int b1 = 0; b1 < N * M; ++b1) { if (arr[b1 / M][b1 % M] != 0) continue; arr[b1 / M][b1 % M] = 1; for (int b2 = b1 + 1; b2 < N * M - 1; ++b2) { if (arr[b2 / M][b2 % M] != 0) continue; arr[b2 / M][b2 % M] = 1; for (int b3 = b2 + 1; b3 < N * M - 2; ++b3) { if (arr[b3 / M][b3 % M] != 0) continue; arr[b3 / M][b3 % M] = 1; SpreadVirus(); CountZero(); ClearSpreadVirus(); ++curVirus; maxCnt = max(maxCnt, cnt); cnt = 0; ++t; arr[b3 / M][b3 % M] = 0; } arr[b2 / M][b2 % M] = 0; } arr[b1 / M][b1 % M] = 0; } cout << maxCnt; return 0; } 안녕하세요. 예제케이스는 답이 잘 나오는데 제출하면 에러가 뜹니다. 코드가 복잡해서 디버깅이 쉽지 않네요.. 어디가 문제일까요?

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

구현 문제

미해결

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

안녕하세요! 현재 구현 문제 강의까지 들었는데 좀 더 많은 구현 문제를 풀어보고 싶어서 질문 드립니다.! 혹시 백준에서 더 풀어볼 만한 문제 추천해주실 수 있으실까요??

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

7-P 질문 있습니다!

미해결

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

안녕하세요, 큰돌님! 7-P 관련해서 질문드립니다. bfs + 맵 으로 완탐을 구현했습니다. 하지만, 계속 71%에서 틀립니다. 강의 로직과 비슷하다고 생각하는데, 왜 안되는지 궁금합니다! https://www.acmicpc.net/source/72316595

  • c++
  • 코딩-테스트
김동훈 댓글 1 좋아요 0 조회수 190

const member function에 관하여 궁금한 점이 있습니다.

해결됨

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

강의 중 아래 코드를 작성하고 난 후, 코드를 변형해 보다가 의문의 생겨 질문드립니다. class Something { public: string m_value = "default"; const string& getValue() const { cout << "const version" << endl; return m_value; } string& getValue() { cout << "non-const version" << endl; return m_value; } }; 영상에서 const member function 은 함수 내에서 멤버 변수를 수정하지 않겠다는 의미라고 나왔습니다. 그런데 해당 함수의 반환 타입에 해당하는 const 를 지우자 에러가 발생합니다. const member function이 아닌 getValue() 와 하는 작업이 같은데도 불구하구요.(둘 다 함수 내부에서 값을 변경하지 않음) string& getValue() const { cout << "const version" << endl; return m_value; // 오류 발생 } 오류문을 검색하여 유사한 질문을 찾을 수 있었습니다. https://stackoverflow.com/questions/30146562/error-qualifiers-dropped-in-binding-reference-of-type-x-to-initializer-of-type 링크의 답변을 읽고 제가 이해한 바는 다음과 같습니다 : 함수의 반환형이 참조형이라면 잠재적으로 접근하여 값을 변경할 가능성이 있는데, 본 함수는 const member function 라서 함수의 멤버 변수가 변하지 않아야 하기에 이를 보장하기 위하여 수정하도록 에러를 발생시킨다고 보면 될까요? 오류가 발생하던 함수의 형태에서 & 와 const 둘 중 하나를 지웠을 때 에러가 사라지는 것을 보면 맞는 것 같긴 한데, 정확한 설명을 듣고 싶습니다.

  • c++
durams 댓글 1 좋아요 1 조회수 329

float 출력관련 질문

미해결

C 와 C++ 을 동시에 배워보자 - 두들낙서의 C/C++

#define CRT SECURE_NO_WARNINGS#include <stdio.h>int main() { float a, b; scanf("%f%f", &a, &b); //&:포인터 float hap = a + b; float cha = a - b; float gop = a * b; float mok = a / b; printf("%f + %f = %f\n", a, b, hap); printf("%f - %f = %f\n", a, b, cha); printf("%f * %f = %f\n", a, b, gop); printf("%f / %f = %f\n", a, b, mok);} 코드는 대략 이러한데, 예시로 입력값을 555.3과 234를 넣으면 555.299988과 234를 기준으로 계산이 됩니다. 왜 그런지 아시는 분이 혹시 계시다면 답변해주시면 감사드리겠습니다.

  • c
  • c++
김민성 댓글 1 좋아요 0 조회수 301

a.cpp 오류

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. a.cpp 파일을 visual studio code 에서 만들었는데 다음과 같이 오류가 발생합니다. 수업 자료처럼 open in intergrated terminal을 눌러서 컴파일명령어 실행한 상태입니다.

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

컴파일러 셋팅 및 코딩의 시작에서

해결됨

[쥬신게임아카데미 버거쌤] 완전 초보자를 위한 게임 C++

폰트 자료 올려두셨다는 곳이 어디예요...????

  • c
  • c++
evilbition 댓글 1 좋아요 0 조회수 549

테스트케이스는 다 맞는데

미해결

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

#include <bits/stdc++.h> using namespace std; int arr[51][51]; int visited[51][51]; vector<pair<int, int>> v; int dy[] = { -1, 0, 1, 0 }; int dx[] = { 0, 1, 0, -1 }; int T, M, N, K; int x, y; int t = 1; int cnt = 0; void DFS(int _y, int _x) { visited[_y][_x] = t; for(int i=0; i<4; ++i) { int ny = _y + dy[i]; int nx = _x + dx[i]; if(nx < 0 || ny < 0 || nx >= M || ny >= N) continue; if(visited[ny][nx] == t) continue; if(arr[ny][nx] == 0) continue; DFS(ny, nx); } } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin >> T; for(int i=0; i<T; ++i, ++t) { cnt = 0; cin >> M >> N >> K; for(int j=0; j<K; ++j) { cin >> x >> y; v.push_back({x, y}); arr[y][x] = 1; } for(int k=0; k<v.size(); ++k) { tie(x, y) = v[k]; if(visited[y][x] == t) continue; if(arr[y][x] == 0) continue; DFS(y, x); ++cnt; } v.clear(); cout << cnt << '\n'; } return 0; } 안녕하세요. 강의 안보고 한번 풀어봤는데요. 테스트 케이스는 다 맞는데 어디가 문제인지 모르겠습니다 ㅠ

  • c++
  • 코딩-테스트
han 댓글 2 좋아요 1 조회수 303

함수 포인터 질문

미해결

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

std::function<bool(const int&)> fcnptr = isEven; cout << fcnptr << endl; 이 방식의 초기화에서는 오류가 뜨고 bool(*fcnptr)(const int&) = isEven; cout << fcnptr << endl; 이 초기화에서는 오류가 안 뜨는 이유가 궁금합니다. 뜨는 에러 : E0349 no operator matches these operands

  • c++
이정민 댓글 1 좋아요 1 조회수 255

a.cpp

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. a.cpp 파일을 visual studio code로 만들면 되는걸까요?

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

queue를 통해 풀순 없을까요?

미해결

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

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/783d87e6fdf94af598c1204fe09a8c3b 반례주시면 감사하겠습니다.. 왜 오답인지 모르겠습니다..

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

사전순 정렬

미해결

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

http://boj.kr/ac9c5032616d42d3b9599642e583fdcb 더 효율적인 방법을 제시해 주셨는데 이 방식도 알아내고 싶어 질문 드립니다. 이 방식대로 풀어내면 정렬하는 곳에서 문제가 생기는데 1 4 10 1 4 6 이렇게 정렬되어 사전순 정렬이 불가능한데.. 백터<string>에 담긴 "1 4 10", "1 4 6" 를 정렬하려면 어떡하면 좋을까요? 뭔가.. split을 잘 사용하면 될 것 같은 느낌이 있는데 과부하가 걸렸는지 사고가 안되네요 ㅎㅎㅜ

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

9996문제 질문있습니다.

미해결

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

앞부분과 뒷부분을 비교해서 DA로 출력하는 조건문에서 조건의 뒷부분을 비교하는 조건에 대해서 이해가 되지 않습니다.string f; (ab * ab 중 앞 ab)string e; (ab * ab 중 뒤 ab) 문제로 제시된 문자열의 사이즈에서 뒷부분의 사이즈를 빼면 조건의 뒷 문자에 대한 조건이 완성되는 이유가 궁금합니다. if(f == s.substr(0,f.size()) && e == s.substr(s.size() - e.size()))

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

06.+마무리 언리얼 솔루션 빌드가 안됩니다.

해결됨

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동

안녕하세요. 06.+마무리.zip을 다운받아 풀고 S1.sln 파일을 실행시키면 VS에서 프로젝트 내 파일들을 읽어오질 못합니다. 그래서 S1.uproject에서 Generate Cisual Studio Project File을 해주고 솔루션을 실행시키면 프로젝트 내 파일들이 잘 나옵니다. 근데 빌드를 하면 다음과 같은 에러가 납니다. 1>[18/23] Compile [x64] S1Player.cpp cancelled 1>[19/23] Compile [x64] S1GameInstance.gen.cpp cancelled 1>[20/23] Compile [x64] S1Player.gen.cpp cancelled 1>[21/23] Compile [x64] ClientPacketHandler.cpp cancelled 1>[22/23] Compile [x64] S1.init.gen.cpp cancelled 1>[23/23] Compile [x64] BufferReader.cpp cancelled 1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets(44,5): error MSB3073: The command ""D:\Epic Games\UE_5.2\Engine\Build\BatchFiles\Build.bat" S1Editor Win64 Development -Project="C:\Users\yesun\Downloads\06.+마무리\MMO\S1\S1.uproject" -WaitMutex -FromMsBuild" exited with code 6. 1>Done building project "S1.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== ========== Build started at 5:33 PM and took 01.657 seconds ========== 마지막 5.3버전 예제도 마찬가지로 압축푼 프로젝트파일을 실행하면 VS 에서 파일이 제대로 안나옵니다. 하지만 06. +마무리.zi p 과는 다르게 S1.uproject에서 Generate Cisual Studio Project File을 해주고 다시 VS 오픈해서 빌드하면 에러없이 언리얼 에디터가 잘 실행됩니다. 제가 뭘 잘못 실행한건지 뭔가 세팅을 제대로 안한건지 왜 이런 현상이 일어나는지 알수 있을까요?

  • c++
  • unreal-engine
  • windows-server
Peter Han 댓글 2 좋아요 0 조회수 830

2-I 반례를 잘 모르겠습니다!

해결됨

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

http://boj.kr/01660705b14346a68f903e9c57b3553b 처음에 설명하신 String을 접근하는 방법과 cmp를 만드는 것 까지 접근했으나 계속 틀렸다고 나옵니다 ㅠㅠ 한번 살펴봐주시면 감사하겠습니다!

  • c++
  • 코딩-테스트
jjune0427 댓글 2 좋아요 1 조회수 255

1-h 문제 질문입니다.

미해결

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

https://www.acmicpc.net/source/72188767 sum의 값에 따라 최솟값과 비교하여 최대값이 갱신되도록 짯는데 왜 틀리는걸까요?

  • c++
  • 코딩-테스트
석찬휘 댓글 1 좋아요 0 조회수 165

7.3 포인터에 대한 레퍼런스

미해결

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

7.3강 16초 부분과 관련해 질문 드립니다. void foo(int* &ptr) { cout << ptr << " " << &ptr << endl; } int main() { int x = 5; int *ptr = &x; cout << ptr << " " << &ptr << endl; foo(ptr); return 0; } 여기서 foo함수의 매개변수 부분에 왜 int* ptr 이 아닌 int* &ptr 로 쓰는지 궁금합니다. 그리고 int* &ptr 부분에서 &가 의미하는 것이 주소를 말하는 것인지, 참조를 말하는 것인지 헷갈리는데 어떤게 맞는지 궁금합니다. 감사합니다.

  • c++
ii00 댓글 2 좋아요 1 조회수 241

안녕하세요 서버 강의 질문드립니다.

해결됨

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

안녕하세요 루키스님 항상 양질의 강의 감사합니다. 제가 현재 이 강의에서 서버 제외한 부분만 전부 수강을 했고 이제 서버부분을 들으려고 하는데 [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버 이 강의도 소지하고 있어서 위 강의를 먼저 수강 후 현재 강의를 듣는게 나을지 아니면 이 강의를 완독 후 Part4 강의를 듣는게 나을지 질문드립니다. PS: part5도 구매예정입니다

  • c++
  • 네트워크
  • ue-blueprint
  • 게임수학
  • windows-api
phz0606 댓글 1 좋아요 0 조회수 471

인접행렬 재귀함수 이렇게 짠 것도 맞는 건가요..?

해결됨

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

이중for문도 아니고 뭔가 이상한 것 같은데 출력은 나오고.. 근데 정확히 뭐가 이상한 건지 잘 모르겠어요..ㅜㅜ 맞게 짠 건지 확인 및 조언 부탁드려도 될까요..?

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

인기 태그

인프런 TOP Writers

주간 인기글