묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 2-E 푸는중 질문이있습니다.
http://boj.kr/066bf2d88dcc4b16be8da489d9449b1c정답은 맞추었는데조건체크부분에서 전부 1이거나 전부0인부분을 체크할때에 문자열의 크기가1일때 전부 합이 4거나 0이면 전부1이거나 0인조건으로 체크하여 결과를 리턴했는데 깔끔하지 못한것같아 혹시 조건문체크에서 전부1이거나 0을 체크할수있는 좋은 방법이있을까 싶어 질문을남겨봅니다 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문
교안이 개정되어, 다시 읽어보고, 전에 중단했던 부분부터 다시 문제를 풀어보려 하는데, 한 가지 궁금점이 있습니다. 위에는 cin이 개행문자까지 입력받는다 하고, 아래는 개행문제 직전까지 입력을 받는다고 언급되어 있습니다. 서로 반대되는 말인 것 같아서, 질문 드립니다. 참고로 제가 이해한 방식은 cin은 개행문자까지 입력된다 생각하고, getline은 개행문자 직전까지 입력된다 생각했습니다. cin >> T;인 경우에는 geline(cin, bufferflush);가 필요가 없지만, geline으로 받는 경우에는 해당 코드(getline(cin, bufferflush);)가 필요하다. 헷갈리지 않기 위해 기본적으로 적는 게 좋다이렇게 이해한 게 맞을까요??
-
미해결홍정모의 따라하며 배우는 C++
auto operator<=>(const MyInt& rhs) const = default; 이 코드처럼 "=default" 가 몬가요? 어느강의 부분에 설명이 되어 있나요?
강의에 있었던거 같기도 하고 기억이 잘 안나는데,, 혹시 강의 어느 챕터를 봐야 하는지 아시는 분 계실까요?어디서 비슷한 문법을 본 것 같은데 기억이 잘 나질 않네여
-
해결됨[게임 프로그래머 도약반] DirectX11 입문
normal 을 월드계로 바꿀때 worldinvtranspose
대학교수업때나 물방울책에서 배울때 normal 은 worldinvtranspose 를 곱하라고 배웠는데어떤 셰이더 책이나 선생님께서는 world 를 곱하라고 하셔서요보통 SRT = (SRT)^-t 라서 상관없나요?어짜피 normalize될때 상쇄될까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-F 시간 초과 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/9be2e49bafe64797b19ed75db1b6ac7c 재귀로 이 문제를 구현해봤는데 시간 초과가 발생하였습니다. 어떤 부분에서 시간초과가 발생하였는지와 개선할 점에 대해 알려주셨으면 좋겠습니다. 또한 코드 자체는 맞은것 같은데 혹시 반례가 있다면 알려주시면 감사하겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[초기화값] 1e9에 관한 질문입니다
안녕하세요 선생님, int 초기화값에 관해 궁금한 부분이 생겨 질문을 드립니다.int형 INF를 1e9로 초기화하는 기본적인 이유는 이해하였습니다. - INF끼리 더했을 때 범위가 넘어가는 것 등을 방지할 수 있다는 것과- 이상한 문제가 아니라면 1e9로 초기화해도 풀린다는 것그러나 만약 면접에서 1e9로 초기화한 이유를 질문받는다면 제대로 된 이유를 대답하지 못할 것 같습니다. 위의 두가지 대답은 풀이의 편의를 위해 1e9 이하의 답이 나올 것이라는 자체적인 판단 하에 마음대로 설정했다고 보일 듯 합니다. 문제에서 1e9를 넘어가는 답이 나오지 않을거라고 명시한 적이 없는데 왜 마음대로 1e9를 한계선으로 설정했냐는 질문을 받는다면 어떻게 대답하는 것이 맞을까요? 이런 질문은 들어오지 않는다고 봐야할까요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
gets 관련 질문드립니다
7번 문제 (영어단어복구)에서 gets를 사용하였는데gets를 사용하면 오류가 떠서 사용을 못하게 되어서 찾아보니gets가 위험하여 fgets나 gets_s를 사용하라고 하던데fgets를 사용하니 개행문자까지 들어가서 for(i=0; arr[i]!='\n'; i++) 이렇게 사용하여 풀었는데혹시 공백이 포함된 문자열을 입력받을때 다른 좋은 방법이 있을까 질문드립니다! 그리고 대문자를 소문자 변환하여 다른 새 배열에 넣고 한번에 출력하셨는데혹시 for문 안에서 해당될때마다 문자 하나씩 출력하는것과 성능 차이가 있을까요? 감사합니다
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
map을 공부하던중.. m.insert(pair<int, int>(i, i * 100));
안녕하세요. 오늘 map 을 공부하던중..pair<int,int>(i,i*100) -> 이 부분이 도대체 무슨 소리인지 모르겠더라구요.. 이름이 없어서 생성자도 아니고 operator도 아니고 1시간 구글링 결투끝에 임시객체라는 표현을 알게되었어요.Q1임시객체가 무엇을 반환하는지가 궁금합니다..!코드상으로는 key 랑 value를 반환하는 것 같긴한데..내부를 살펴볼려해도 외계어가 난무해서 물어봅니다 ㅠㅠ 제가 너무 깊게 알려는건지 아니면 기초지식이 부족한건지 잘모르겠네요 하하..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
Dev c++ 디버깅이 안되는 현상
안녕하세요. 윈도우 환경에서 DEV C++을 사용하고 있습니다. 디버깅을 하고 싶은데 디버그 모드로 실행 하면 해당 메세지 창이 나오고 yes를 누르면 DEV C++ 프로그램이 종료되는 현상이 발생합니다.해당 현상 해결 방안을 알신다면 방법을 알려주세요.감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[8 - P] 질문입니다
안녕하세요 선생님, 벨만 포드 사이클에 대해 이해가지 않는 부분이 있어 질문을 드립니다. https://www.acmicpc.net/source/share/34ff214ab6c944f59092bb5282b4c00e답지 31 ~ 46라인에 대해 이해가 잘 안되는 상태입니다.사이클이 발생할 수 있는 모든 here을 큐에 넣어둔 후there.first == e일 경우 돈을 무한대로 가질 수 있다고 처리하고 있는데 사이클 발생 끝 지점이 종료 노드인것이 어떻게 돈을 무한대로 가질 수 있다는 뜻이 되는지 모르겠습니다. 음의 사이클이 일어난 시작지점이 종료노드 바로 직전이었다고 한다면 종료노드에 가기 전까지 음의 사이클을 돌며 가진 돈을 줄였으면 줄였지 늘리진 못할 것 같고 음의 사이클을 타지 않더라도 벌 수 있는 돈은 마지막에 벌 수 있는 돈= (종료노드 직전까지 벌 수 있는 돈의 최대값) - (시작지점 ~ 종료지점 교통비) + (종료지점에서 번 돈)으로 한정될 것으로 보이는데 돈이 무한대가 될 수 있는 이유는 무엇인가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
Unable to start assembler. Check your settings.
3.12.1 버전으로 시작했는데도 설정오류가 뜹니다-g -f win64 $SOURCE$ -l $LSTOUTPUT$ -o $PROGRAM.OBJ$로 옵션 설정을 바꿨고 현재 윈도우 10 을 사용중인데 이유를 모르겠네요3.14.0버전도 마찬가지라 버전의 문제가 아닌 것 같습니다.
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
강의 자료 다운로드가 안됩니다
강의 구매하고 강의자료 다운로드를 받으려는데 먼저 크롬에서 파일 다운로드가 차단돼었고크롬 보안을 끄고 다운로드를 받으려니 바이러스가있어서 다운로드가안된다고 뜨는데왜그런걸까요 ㅠㅠ
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
list head와 tail
안녕하세요 stl list 구현부를 학습하던중에 head의 역할이 이해가 안되서 인터넷을 찾아봤는데요.head는 첫번째 노드를 가리키는 것tail이 마지막 노드를 가리키는 것 첫 초기화 상태는 head와 tail 서로 next prev를 이용해 가리키고값 삽입 부분에서 head의 next , tail의 prev를 새로운 노드를 가리키게 바꿔주면 되는 것인데.. 설명 내용에는 taill 부분이 빠져있어서 혼란이 왔어요.결론 : 그냥 둘다 통합으로 header로 표현하신건가요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 어느 부분이 틀렸는지 모르겠습니다.
안녕하세요 강의 안보고 제 방식대로 일단 작성을 해보았는데 어느 부분이 틀렸는지 모르겠습니다. 예제는 맞는데 계속 오답이 나와서 여기에 질문 올립니다.http://boj.kr/93f413d4caad435dbb67578593137ac9
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-G 질문드립니다.
안녕하세요 강사님방법은 다릅니다만 빈도수와 입력 위치(순서)까지 고려해서 작성한 코드인데 왜 자꾸 틀리는지 모르겠어서 질문드립니다.http://boj.kr/c9afb96481d348eaaa0f32b0bb0e9977어디가 잘못된 것일까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8-D 풀이 코드 질문 입니다.
강사님 안녕하세요~풀이해주신 코드에 대해 제가 이해한 것이 맞는지 해서 질문드립니다.풀이코드https://www.acmicpc.net/source/share/e2de316babff4d9b808e18926d718fc9에서 52,54 line 에서 find_index 함수로 부터 구해진 index 에 +1 을 더해주는 이유가,find_index 함수의 반환값이 0 인 경우 fenwick tree update/sum 의 idx 로 바로 사용할 수 없으므로, find_index 반환 값에 +1 을 한 것으로 이해하면 될까요? 위에서 제가 이해한 내용이 맞다면아래 제가 제출한 코드와 같이https://www.acmicpc.net/source/share/5b723f25c81b4f8581fa7fd6caf8f480sum, update 함수 내부에서 idx 를 1만큼 증가시키는 것도 동일한 것이겠죠?
-
미해결홍정모의 따라하며 배우는 C++
코드 조금 바꿔서 작성 중 에러
안녕하세요, 아래처럼 코드 짜니까 에러가 발생하는데 왜 그럴까요? 교수님 강의에서 관련된 내용을 들었던 것 같은데 못 찾겠네요;;class IntList { private: static int m = 10; int m_list[m] = { 1, 2, 3, 4, 5, }; ... >> error: non-const static data member must be initialized out of line static int m = 10;
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
큰돌님 안녕하세요
안녕하세요 큰돌님! 게임 회사에 게임 개발자로 입사하려는 취준생입니다!넥슨을 목표로 하고 있습니다만 모든 기업에 서류를 넣어볼 것 같습니다(3N, 크래프톤, 컴투스 등등 대기업 or 중견). 그래서 코딩테스트를 준비하는중에 큰돌님의 강의를 만나게 됐습니다 :)게임 회사의 코딩테스트 난이도가 궁금합니다! 가끔 코테에 SQL도 있던 걸 본 것 같은데 SQL 같은 것도 보는지 궁금하고요!
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
[47번 봉우리] 무엇때문에 안되는 걸까요?
[47번 봉우리 문제]똑같은 논리로 구조를 짰는데, 하나는 정답이고 하나는 오답이에요.왜일까요? 제가 생각했을때 둘의 차이는 배열의 할당 방식뿐입니다. (정적vs동적)배열을 포인팅 하는 방식에서 잘못된게 있나요...? [정답]#include <iostream> #include <cstdlib> #include <stdio.h> #include <queue> #include <vector> using namespace std; const int dir[4][2] = {{-1, 0}, {0, 1}, {1, 0}, {0, -1}}; int map[52][52], mem[52][52]; int n, i, j, cnt = 0; int main(void) { scanf("%d", &n); for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { scanf("%d", &map[i][j]); } } for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { int ni, nj, k; bool b = true; for (k = 0; b && k < 4; k++) { ni = i + dir[k][0]; nj = j + dir[k][1]; if (map[ni][nj] >= map[i][j]) b = false; } if (b) { cnt++; // printf("i:%d j:%d일 경우에 cnt++\n", i, j); } } } printf("%d", cnt); return 0; } [오답]#include <iostream> #include <cstdlib> #include <stdio.h> #include <queue> #include <vector> using namespace std; int N; int *a; int dir[4][2] = {{-1, 0}, {0, 1}, {1, 0}, {0, -1}}; // (y,x) int main(int argc, char *argv[]) { scanf("%d", &N); int i, j, cnt = 0; int ni, nj, k; a = new int[(N + 2) * (N + 2)]; for (i = 1; i <= N; i++) for (j = 1; j <= N; j++) scanf("%d", a + i * (N + 2) + j); for (i = 1; i <= N; i++) { for (j = 1; j <= N; j++) { bool b = true; for (k = 0; b && k < 4; k++) { ni = i + dir[k][0]; nj = j + dir[k][1]; if (*(a + ni * (N + 2) + nj) >= *(a + i*(N + 2) + j)) b = false; } if (b) { cnt++; // printf("i:%d j:%d일 경우에 cnt++\n",i,j); } } } printf("%d", cnt); free(a); return 0; } P.S.이것을 디버깅해보면서 느끼는데, Dev-C++이 제가 알던 Visual Studio보다 디버깅하기가 훨씬 힘드네요...ㅠㅠ 원래 그런건가요? 바쁘시겠지만 시간 되실때 디버깅 하는 팁도 영상으로 공유해주시면 도움이 정말 많이 될 것 같아요ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문있습니다.
결과는 다 잘나오는데 런타임에러가 뜨네요.. 뭐가 문제인지 모르겠습니다..http://boj.kr/0434a25d28f94fd39be7497b207f6dca