묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간복잡도
안녕하세요 강사님. 인접리스트로 dfs하면 O(N + M)아닌가요?모든 노드에 대해서 탐색하면 O(N(N+M))으로 10억이고요.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
왜 mp의 first와 second를 v에서 순서를 뒤집어야할까요?
뒤집지 않는다면 cmp와 출력부분이 어떻게 될까요?
-
해결됨Do it! 알고리즘 코딩테스트 with C++
알고리즘 코딩테스트 문제풀이 강의 - 14 절댓값 힙 구현하기 (백준 11286)
C++ 책보고 풀어보고 있는데이해가 안가는 부분이 있습니다.struct compare{ bool operator()(int o1, int o2) { int first_abs = abs(o1); int second_abs = abs(o2); if (first_abs == second_abs) { return o1 > o2; } else { return first_abs > second_abs; } }};return o1 > o2; 이 부분에서 현재 입력값이 1,-1,0 이렇게 들어오면 o1 = 1, o2 = -1이 들어와서 비교를 하여 1 > -1 되는거 아닌가요? 그럼 양수가 정렬이 되는데 어떻게 이해를 해야하는지 모르겠습니다. 우선순위 큐에 관해서 Compare에 찾아보니 작은 수를 반환한다고 하는데 왜 그런지 이해가 안가네요...확인부탁드립니다.마찬가지로 return first_abs > second_abs; 이 부분도 설명 부탁드립니다.
-
미해결홍정모의 따라하며 배우는 C++
(person 구조체의 주소)와 (person구조체의 주소를 넣어준 포인터를 다시 ref2에 넣었을때 주소)하고 같은게 이해가 가질 않습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.처음 Person 구조체를 선언하면 구조체가 담길 주소가 할당되고 (편의상 a라고 하겠습니다.)구조체의 주소를 담을 *ptr을 선언하면 포인터 그자체의 주소도 새로 생긴다고 배웠는데 (포인터의 주소는 b) 처음 구조체의 주소를 넣은 포인터라해도 그포인터의 주솟값을 다시 ref2에 넣어준다면 a라는 주소가 아닌 b가 나와야하는거 아닌가요? 어떻게 ref2에도 a라는 주소가 들어가있는건지 궁금합니다.
-
해결됨코딩테스트 실전 모의고사(with C++) : 대기업 대비
잔디 문제 해설 c로 바꿔서 출력할 때
안녕하세요.궁금한 점이 있어서 질문드립니다!c++로 된 코드를 c로 바꿔서 작성하려고 하는데#include<string.h> 선언 후에 string으로 넘겨서 출력하면 값이 이상하게 떠서요. 혹시 c로 바꿔서 출력하려고 하면 어떻게 코드를 짜야할까요..??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-F 강의 무편집본 업로드인건지 확인 부탁드려요.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강사님 매번 좋은 강의 감사드립니다.2-F 강의 영상이 잘못 업로드된 게 아닌가 싶습니다. 설명하시는 중간중간에 설명이 막히는 부분을 헤쳐나가는 과정을 적나라하게 볼 수 있었는데, 이게 강의용으로 업로드된 영상이 맞는지 확인 한번 부탁드려요.강의 준비하시는 노고까지 느낄 수 있는 영상이긴 한데, 수강용으로는 부적합하지 않나 생각이 들어 문의드려요.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
숫자를 문자로
안녕하세요 선생님 수업 잘 듣고 있습니다!!!http://boj.kr/6f133cb4983d4c4fbbfd9bdb9dd87ba1선생님께서는 새로운 스트링을 만들어서 스트링을 프린트하시는 방식으로 문제를 푸셨는데 저는 숫자를 각각 문자로 바꾸어서 프린트해보려고 했으나 오류가 발생했습니다. to_string을 사용했을때숫자를 문자로 바꾸는 방식으로 (char)를 사용할때무엇이 문제였는지 설명해주시면 정말 감사하겠습니다!제가 19번째와 20번째 줄에 쓴 코드들은 서로 같이 쓰는것이 아닌 두가지 방법을 사용해본것입니다!
-
해결됨홍정모의 따라하며 배우는 C++
3.6 9분 55초
x = 5, y = 5의 경우x equals y가 출력되는데, 선생님께서 x와 y가 같다고 잘못 결과를 내고 있다고 하시는데...왜 결과가 잘못 나온 건가요?ㅠㅠx와 y가 똑같이 5인데 뭐가 잘못된 건지 잘 모르겠습니다ㅠㅠ
-
미해결홍정모의 따라하며 배우는 C++
3.7 33분 49초
안녕하세요?1001 1110를 unsigned integer로 생각하고 변환을 하게 되면128 + ~ 식으로 나온다고 하셨습니다. (32분 쯤)그런데33분 49초에 1001 1110 을 <사인드>라 가정하고 변환을 하면2^7 1 + 2^41 + 2^3*1 + 2^2*1 + 2^1*1 = 158 이렇게 나온다고 하셨는데이 방식은 1001 1110를 unsigned integer로 생각하고 변환한 것이 아닌가요?ㅠ선생님께서 잘못 말씀하신 건가요?ㅠ사인드라 생각하면 맨앞의 숫자 1이 숫자의 크기가 아닌 부호를 의미하기에 다르게 계산해야 하는 것으로 알고 있어서요ㅠㅠㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
특강을 보고 공부 순서 관련해서 궁금한 점이 있습니다!
내가 IT 대기업에 합격한 방법 영상에서 말씀해주신 회사별 코딩테스트 난이도, 필수 알고리즘 개념 등이 다른 것 같은데 혹시 말씀해주신 야놀자, NHN등 스타트업의 코테에 우선적으로 지원해보려면 순서대로 강의들을 다 듣는게 맞을까요 아니면 건너뛰거나 먼저 들어볼 법한 주차가 있을까요? eg. 스타트업 코테를 목표로 알고리즘 공부를 하고 있으면 일단 몇 주차 개념과 문제를 풀어보고 일단 지원해보는 것을 추천. 등의 답변을 해주신다면 감사드리겠습니다! 현재 실력은 스타트업 코테 문제들에서 평균적으로 테케 3번까지는 맞는데 그 이후 효율성 검사 케이스들 또는 반례 케이스들에서 거의 대부분 해결을 못합니다 ㅜ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
명시적, 암시적 형변환 관련 질문입니다
explicit Knight(int hp) { cout << "Knight 기본 생성자 호출" << endl; _hp = hp; _attack = 10; _posY = 0; _posX = 0; }명시적 형변환 문법인 explicit를 뺀 상태에서k5 = 1 일때 컴파일러에 의해 암시적 형변환으로 인해함수의 인자 int hp에 1이 들어가는 건가요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-K 코드 질문입니다
저는 문제를 풀 때 한 백조의 위치에서 다른 백조의 위치까지 얼음의 개수를 센 후(cnt), 얼음이 하루 지날때마다 2개씩 없어지므로 나누기 2를 한 후 얼음이 짝수개 일 때와 홀수개 일 때마다 값(ret)을 다르게 출력하도록 하였습니다. http://boj.kr/770d46a0591d4fe7a3f03dc5e00876c4플러드 필을 나름 사용한다고 했지만 어느 곳이 부족한지 알려주시면 감사하겠습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
안녕하세요 질문이 있습니다
C++에관한 질문이 아니라 죄송합니다훌륭한 언리얼 개발자를 위해 강의를 수강하고 있습니다.작은규모의 회사에서 진행중인 프로젝트가 언리얼 기반으로 진행중인데 언리얼에서 html5가 최신버전에선 지원을 안한다고 유니티로 바꾸는게 어떻냐는 의견이 나옵니다.1.실제로 아예 최신버전에선 html5를 지원을 안하고 사용할 수 없을까요?2.언리얼에도 아직 미숙한데 유니티를 다시 처음부터 배우게면서 두마리 토끼를 잡으려고 하면 초보인 저에게는 힘든일이될까요? 감사합니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-H 4659 flag =1 관련 조건문 문의
안녕하세요!2-H 4659 에서 flag =1 관련 조건문을 문의드립니다.if(i >= 1 && (prev == idx) && (idx != 'e' && idx != 'o')){flag = 1;}같은 글자가 연속으로 나오면 (i>=1 && prev==idx)flag=1 이해했습니다.(idx != 'e' && idx != 'o') 이 부분이 이해가 되지 않습니다..ㅠㅠee와 oo 연속을 허용한다는 뜻일까요,,그럼 답변 부탁드려요,,
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5주차 칠무해 질문입니다
http://boj.kr/e996076928334d74bccc1687c148a5e9기존에 priority queue를 직접 vector로 구현했습니다.돌렸을 경우 예제도 맞고 직접 다른 예제를 돌렸을 때도 맞는 답이 나왔습니다.어디에서 틀렸는지 감이 안오네요 ㅠ< 틀렸습니다 > 라고 백준에 표시됩니다. 감사합니다.
-
미해결홍정모의 따라하며 배우는 C++
13:10 IsEven, IsOdd 함수 선언 후 함수포인터 이용한 코드 질문
IsEven, IsOdd 함수 구현 후 함수 포인터 사용해서 my_array 배열의 짝수/홀수 요소만 출력하는데요.IsEven, IsOdd 함수에 강의에서 설명하신 else return false;를 안붙이면 (아래 코드 36, 40째 줄 주석처리) IsOdd를 포인터로 호출하면 정상동작, IsEven을 포인터로 호출하면 모든 요소가 출력됩니다. 둘다 이상동작해야할 것 같은데 IsEven만 이상동작 하는 이유가 뭔가요?? #include <iostream>#include <string>#include <array>#include <limits>#include <vector>#include <algorithm>using namespace std;int func() { return 5;}int goo() { return 10;}void printNumbers(const array<int, 10>& my_array) { for (auto element : my_array) { if (element % 2 == 0) cout << element << " "; } cout << endl;}void printNumber2(const array<int, 10>& my_array, bool Is_even) { for (auto element : my_array) { if (Is_even && element % 2 == 0) cout << element << " "; if (!Is_even && element % 2 == 1) cout << element << " "; } cout << endl;}bool IsEven(const int& number) { if (number % 2 == 0) return true; //else return false;}bool IsOdd(const int& number) { if (number % 2 == 1) return true; //else return false;}void printNumber3(const array<int, 10>& my_array, bool (*check_fcn)(const int&)) {//함수포인터 써서 IsEven, IsOdd 불러움 for (auto element : my_array) { if (check_fcn(element)==true) cout << element << " "; } cout << endl;}int main() { cout << func << endl; /*이렇게 함수를 출력하면(func()가 아님) 메모리 주소값이 나옴. 즉, 함수도 주소를 가지고 있음. 즉, 함수도 포인터 써서 주소만 가지고 이것저것 할 수 있음.*/ func(); int(* fcnptr)() = func; /*func()는 func 함수를 실행시켜서 결과값을 가져온다는 의미. func의 주소값을 fcnptr에 대입하려면 func만 쓰야함.*/ cout << fcnptr() << endl; //변수 카운터를 써서 참조하려면 (변수)를 썼었는데, 함수포인터는 뒤에 앞 말고 뒤괄호인건가? fcnptr = goo; cout << fcnptr() << endl; array<int, 10> my_array = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; printNumbers(my_array); cout << endl; printNumber2(my_array, true); printNumber2(my_array, false); cout << endl; printNumber3(my_array, IsEven); return 0;}
-
미해결홍정모의 따라하며 배우는 C++
4:16 함수포인터 활용 질문입니다.
변수 포인터를 활용하여 변수값을 참조하려면 포인터 앞에 *을 붙였는데요.같은 방식으로 함수 포인터를 활용하여 함수값을 참조하려면 포인터뒤에 괄호()를 붙이는 문법이라고 생각하면 되나요?? 아래 코드에서 주석처리한 28번째 줄입니다. #include <iostream>#include <string>#include <array>#include <limits>#include <vector>#include <algorithm>using namespace std;int func() { return 5;}int goo() { return 10;}int main() { cout << func << endl; /*이렇게 함수를 출력하면(func()가 아님) 메모리 주소값이 나옴. 즉, 함수도 주소를 가지고 있음. 즉, 함수도 포인터 써서 주소만 가지고 이것저것 할 수 있음.*/ func(); int(* fcnptr)() = func; /*func()는 func 함수를 실행시켜서 결과값을 가져온다는 의미. func의 주소값을 fcnptr에 대입하려면 func만 쓰야함.*/ cout << fcnptr() << endl; //변수 카운터를 써서 참조하려면 (변수)를 썼었는데, 함수포인터는 뒤에 앞 말고 뒤괄호인건가? fcnptr = goo; cout << fcnptr() << endl; return 0;}
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-H 비밀번호 발음하기
안녕하세요 큰돌님 강의 보기 전에 제가 한번 풀어서 제출 해보았는데 도저히 어디서 틀린지 잘 모르겠습니다. 혹시 한번 봐주실 수 있나요?http://boj.kr/118b5fa8299d44d19aa64f0e13bb0932
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-N 시간복잡도 질문
안녕하세요. 선생님! 좋은 강의 열심히 듣고 있습니다.4-O 질문이 있는데요(백준 15353 큰수 A+B(2) , https://www.acmicpc.net/problem/15353). 실수 A,B의 범위가 10의 10000승까지인데, 선생님처럼 문자열의 문자 하나씩 정수로 바꿔서 처리한다면 시간복잡도가 10의 10000승 아닌가요..? 이 문제를 선생님처럼 풀기전에 시간초과에 걸린다고 생각했습니다...감사합니다!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
문제 1~2번 이런식으로 접근도 괜찮을까요?
int main(){const int BUF_SIZE = 100;//[H][e][l][l][o][\0][][][][][][][][][]][][][][].......//a의 크기는 100으로 잡고 실제 사용중인 크기는 5..char a[BUF_SIZE] = "Hello";char b[BUF_SIZE]; //2번문제//1번 출력//int len = StrLen(a);//cout << len;//2번 출력//StrCpy(b, a);return 0;}//문제1) 문자열 길이를 출력하는 함수int StrLen(const char* str){//str이라는 문자열의 길이를 반환for (int i = 0; i < *str; i++){if (str[i] == '\0')cout << str[i] << endl;}return 1 + sizeof(str);} //문제2) 문자열 복사 함수void StrCpy(char* dest, char* src){for (int i = 0; i < *src; i++)dest[i] = src[i];}이런식으로 접근해서 풀어봤는데괜찮을까요?