월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
선생님과 같은 코드를 짤려면
아직은 코딩에 익숙하지 않은 학생입니다. 때문에 주어진 문제를 의식의 흐름대로 풀어나가는 편입니다. 하지만 의식의 흐름대로 풀고 나면 정답은 맞출지언정 선생님 코드 같이 만족할 만한 코드가 나오진 않는거 같습니다. 어디에 핀트를 두고 문제를 대해야 할까요? 이것 역시 연습하다보면 자연스레 길이 보일까요? 아래는 제가 27번을 푼 코드입니다. #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <vector> using namespace std; int main() { //freopen("input.txt", "rt", stdin); int n, cnt = 0, tmp; cin >> n; vector <int> arr(n+1); cout << n << "! = "; for (int i = 2; i <= n; i++) { // 소수 판별 알고리즘 for (int j = i; j <= n; j+=i) { arr[j] += 1; } // i 가 소수 일 때 if (arr[i] == 1) { cnt = 0; for (int k = i; k <= n; k += i) { tmp = k; while (tmp%i==0) { cnt++; tmp = tmp / i; } } cout << cnt << " "; } } return 0; }
- 해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
타임 리미트
제가 채점을 받은 코드는 선생님께서 타임 리미트가 날 것이라는 첫번째 코드였습니다. 그런데 왜인지 1~5 모두 success가 떳습니다. 선생님께서 채점 받으실 때는 4,5 번 문제가 time limit 났는데 왜 제 컴퓨터에서는 success가 떳는지 궁금합니다.
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
vector와 그냥 배열을 쓰는 기준이 뭔가요??
선수 과목에 강사님께서 만드신 C언어 강의가 있길래 듣고 왔는데 문법적인 면에서 자꾸 막히는게 많네요. vector와 일반 배열의 차이는 알겠는데 언제 vector를 써야하고 언제 일반 배열을 써야하는지 알려주세요.
- 해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
깔끔하고 멋있는 코드 만드는 연습
먼저 강의 너무 잘 보고 있습니다. 일단 제가 reverse 함수를 구현한 코드입니다. 강의를 듣고 선생님께서 구현한 코드를 보니 너무 깔끔하고 멋있어 보였습니다. 어떻게 해야 좀 더 나은 코드를 짤 수 있는지 궁금합니다! int reverse(int x) { int digit[7] = { 0, }; // 문제에 자연수의 크기가 100000 이 넘지 않는다고 해서 7로 잡음 int i = 0, res = 0, ten = 1; // 자릿수 별로 나누기 while (x > 0) { digit[i] = x % 10; i++; x /= 10; } // 뒤집어서 합하기 for (int j = i - 1; j >= 0; j--) { res += digit[j] * ten; ten = ten * 10; } return res; }
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
선생님!!프붕이 질문 있습니다
강의 정말 잘 듣고 있습니다. 코드를 전개해 나갈실때 수강생들 입장에서 어려울 수도 있는 부분과 머리속에서 "왜 그런거지?"하는 부분들에 대해서도 미리 캐치하시어 자세하게 설명 해주시는 부분들이 정말 마음에 듭니다. 본인의 경우 선생님께서 전개 해주시는 코드를 따라 적으면서 중요한 설명은 안 놓치고 해당 코드에 다 주석으로 설명을 달아 놓습니다. 리뷰할때마다 설명도 같이 읽으니이해도 잘되고 기억도 잘 되는거 같습니다. 묻고 싶은 점은 이제부터 어떻게 공부해나가야할지 조금 고민 입니다. 현재 1장 22번 문제까지 왔습니다만 하루에 3,4 문제씩 풀어보고 강의 영상 보는 식인데요 그 다음 지금까지 해온 문제들의 코드 보고 어려운 문제는 다시 코딩 해보고 하는 식입니다. 물론 이 중 기억이 나는 부분도 있지만 기억이 안 나서 해메는 경우도 많습니다. 조금 쉬운 문제들 중 저의 코딩방식으로 푼 문제도 2갠가 있습니다. 그러나 백준 같은데서 문제 풀어보는 건 아직 좀 시기상조인거 같고 전체 강의 다 듣고 내가 생각할때도 전 보다 확실히 실력이 늘었다는 생각이 들면 도전 해볼 생각 입니다. 현재와 앞으로 공부 방법은 위에 적은거 처럼 하면 될까요? 선생님께서 생각하시는 가장 효율적인 학습방법이 있으면 알려주십시요. 제 인생을 바꿔주실 선생님의 명강의는 항상 감사하게 잘 보고 있습니다. 언제나 행복 하세요! 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
- 해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
벨만포드와 다익스트라의 차이점
안녕하세요. 벨만포드와 다익스트라의 차이점이 궁금해 질문드립니다. 다익스트라 알고리즘은 음수는 처리 못하고, 만약 더 먼길을 돌아 최소가 될 수 있더라도 greedy알고리즘이기 때문에 선택할 수 없다고 생각합니다. 그에 반해 벨만포드 알고리즘은 음수도 처리할 수 있어 더욱 활용성이 높다고 생각합니다. 그런데도 다익스트라 알고리즘을 쓸 일이 있다면 그것이 시간 복잡도가 더 작기 때문인가요? 감사합니다.
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
공부한 내용을 정리하여 남기려고 하는데 Git 이나 Blog에 업로드 해도 될까요...?
공부한 내용을 정리하여 남기려고 하는데 Git 이나 Blog에 업로드 해도 될까요...? 문제와 코드를 남기고 싶은데 가능한지 여쭙니다!
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
예제에서 2를 답이라고 판단하는데 의문이 있습니다.
안녕하세요! 예제 풀이에 질문이 있습니다. 현재 예제에서 가장 가까운 말의 거리를 1 부터 9의 범위로 두고 문제를 풀이하셨는데요, 가장 가까운 말의 거리를 2로 두고 문제를 풀이해주시는 부분에서 1번에 말을 배치하고, (1과 거리가 2이상 떨어진)4번에 말을배치하고, (4와 거리가 2이상 떨어진) 8번에 말을 배치해서 총 3마리의 말이 잘 들어가니깐 답이 될 수 있다고 하셨는데, (1, 4, 8)번에 배치했을때 실질적으로 가장 가까운 말의 거리가 3이니깐 2는 답이 될 수 없는게 아닌가요?? 저는 답인지를 판단하는 과정에서 "실제 가장 가까운 거리차가 2인가?" 를 넣어야 한다고 생각했는데 제가 잘못판단한건지 궁금합니다.
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문 드립니다.
강의 잘 보고 있고 크게 도움 됩니다. 한 가지 궁금한게 있습니다. 이래 else year = 2000 + ((a[0] - 48) * 10 + (a[1] - 48)); age = 2019 - year + 1; 저렇게 하면 2078이 되는거 아닌지요? if (a[7] == '1' || a[7] == '2') 여기서 무조건 1 또는 2가 되어 참이 되므로 아래 else문이 실행 되는 일은 없겠지만, 이런 이유로 저 부분을 큰 의미 없이(if문이 else문 없이 끝나지 않도록) 그냥넣어둔 것인지 궁금합니다.
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
선생님, 질문이 있습니다!!
선생님, 혹시 백준에 있는 문제 여쭤봐도 괜찮을까요???? 감사합니다!!
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
선생님, 질문이 있습니다.
올려주신 코드에서 33번째 줄if(cost>dist[now]) continue;가 의미하는게 현재 탐색을 시작하는 노드(자기자신)로 가는 거리 비용을 말하는 것인가요? 제 생각이 맞죠? 일단 저 코드를 없애도 결과는 나올 것 같아서 33번째 저 코드를 없앤 뒤 돌려보니 정상적으로 나오게 되네요. 그렇다면 저 코드가 실행되어야 하는 경우는 어떠한 경우가 있는지 궁금해졌습니다. 제 생각이 맞다면 어차피 자기 자신에 대한 비교는 무의미하다고 생각했습니다. 어디까지나 제 생각입니다만,,, 저 33번째 코드 하나가 꼭 필요한 이유가 무엇인지 궁금합니다.
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문있습니다.
안녕하세요. 강의를 보기 전 먼저 문제를 보고 풀어봤습니다. 배열 기호 안에서 연산을 하지 않고 temp라는 변수에 값을 담은 후 증감을 했습니다. 이렇게 하면 연산을 더 하게 돼 크기가 큰 문자열에선 속도 저하가 일어날까요?
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
[30번 3의 개수는?(large)] Case #04만 Wrong_answer가 나옵니다.
강사님의 풀이 개념을 바탕으로 string을 사용해 풀어봤습니다. 제 코드에서는 Case #04만 정답보다 1이 작게 나와 Wrong_answer가 나오는데, 원인을 모르겠습니다... 코드는 아래와 같습니다. 잘못된 부분을 바로 잡아주시면 정말 감사드립니다ㅠㅠ (들여쓰기가 자동으로 없어지네요...) int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); freopen("input.txt", "rt", stdin); int pre, now, next, digit, cnt = 0; string n; cin >> n; for (int i = 0; i < n.size(); i++) { digit = pow(10, n.size() - 1 - i); if (i != 0) { pre = stoi(n.substr(0, i)); cnt += pre * digit; } now = n[i] - '0'; if (i != n.size() - 1) { if (now >= 4) cnt += digit; else if (now == 3) { next = stoi(n.substr(i + 1)); cnt += next; } } else { if (now >= 3) cnt += digit; } } cout << cnt; return 0; }
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문드립니다.
이렇게 코드를 작성하였는데 처리되지 않은 예외가 뜹니다. 일일이 메모장에 입력을 가져다가 출력해봤는데 정답이 뜹니다. 그래도 뭔가 찝찝해서 무언가 실수가 있는지 확인해주시면 감사하겠습니다 ㅠ(이때까지 이런오류는 없었습니다) #include <iostream> #include <vector> #include <string> using namespace std; int main(void) { int N, K, cnt = 0, work = 0, i; cin >> N; vector<int> v(N + 1); for (i = 1; i <= N; ++i) { cin >> v[i]; work += v[i]; } i = 1; cin >> K; while (true) { if (work == 0) { cout << -1; return 0; } if (cnt == K) break; else ++i; if (i > N) i = 1; if (v[i] == 0 && work != 0) { while (v[i] == 0) { if (i > N) i = 1; else ++i; } } --work; --v[i]; ++cnt; } cout << i; return 0; }
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
57은 무엇인가요?
안녕하세요. 세세하게 잘 가르쳐 주셔서 감사드립니다. 질문이 있습니다. 문자열 for loop할때 a가 아스키 코드 값으로 48부터 시작한다는건 이해 가는데 57은 무엇을 의미하는 것인지요?
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
83강에서
인덱스에 대응되는 문자로 DEMNORSY 이순서로 하신 이유가 있나요? 저는 그냥 sendmore 순으로 하면 편할 것 같아서요 (●'◡'●)
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
안녕하세요 질문입니다.
안녕하세요 예전부터 강의 잘 보고 있습니다. 다름이 아니라 제가 자바만 쓰는 곳에 코테를 준비하게 되서 자바로 문제푸는 중인데 선생님께서 강의해주신 C++을 전부 제 나름대로 자바로 바꾸는 중입니다. 근데 저 벡터 부분을 자바로 바꾸는 부분에서 막혔는데 혹시 자바에서는 선생님 코드 어떻게 써야할지 혹시 알려주시면 감사하겠습니다.(전에 자바 질문도 받아주신다는 글 봐서 질문 드립니다..) 저 벡터 로 선언한 map 부분의 map[a].push_back[b]를 자바에서 쓰려니까 구글링 해도 잘 모르겠어서 질문 드립니다. #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<vector> using namespace std; int ch[30], cnt=0, n, path[30]; vector<int> map[30]; void DFS(int v, int L){ int i, j; if(v==n){ cnt++; for(j=0; j<L; j++){ printf("%d ", path[j]); } puts(""); } else{ for(i=0; i<map[v].size(); i++){ if(ch[map[v][i]]==0){ ch[map[v][i]]=1; path[L]=map[v][i]; DFS(map[v][i], L+1); ch[map[v][i]]=0; } } } } int main(){ //freopen("input.txt", "rt", stdin); int m, i, j, a, b, c; scanf("%d %d", &n, &m); for(i=1; i<=m; i++){ scanf("%d %d", &a, &b); map[a].push_back(b); } ch[1]=1; path[0]=1; DFS(1, 1); printf("%d\n", cnt); return 0; } package inflearn; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; import java.util.StringTokenizer; import java.util.Vector; public class _66_경로탐색_인접리스트 {{ static int []ch= new int[30]; static int cnt = 0, n; static int []path= new int[30]; //vector<int> map[30]; static Vector<Integer> map = new Vector<Integer>(30); static void DFS(int v, int L){ int i, j; if(v==n){ cnt++; for(j=0; j<L; j++){ System.out.printf("%d ", path[j]); } System.out.println(""); } else{ for(i=0; i<map[v].size(); i++){ if(ch[map[v][i]]==0){ ch[map[v][i]]=1; path[L]=map[v][i]; DFS(map[v][i], L+1); ch[map[v][i]]=0; } } } } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; Scanner sc= new Scanner(System.in); st = new StringTokenizer(br.readLine()," "); int n,m, i, j, a, b, c; // scanf("%d %d", &n, &m); n = Integer.parseInt(st.nextToken()); m = Integer.parseInt(st.nextToken()); st = new StringTokenizer(br.readLine()," "); for(i=1; i<=m; i++){ // scanf("%d %d", &a, &b); a = Integer.parseInt(st.nextToken()); b = Integer.parseInt(st.nextToken()); map[a].push_back(b); } ch[1]=1; path[0]=1; DFS(1, 1); System.out.printf("%d\n", cnt); } }
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
나이차이 문제 텍스트 파일 읽어오기 관련해서 질문 드립니다.
안녕하세요, visual studio를 사용해서 강사님의 강의를 듣고 있습니다. 예전에 올라온 질문들을 찾아보니 비주얼 스튜디오에서 텍스트 파일을 입력값으로 읽어오게 하는 방법을 알려주셔서 그대로 했는데 쓰레기 값이 결과로 나오길래(해당 부분을 주석 처리하고 채점 파일에 돌려보니 정확도가 100프로 나왔습니다.) 자세히 보니 강사님의 코드에는 #include "pch.h" 가 있는 것을 발견했습니다. pch.cpp와 pch.h파일은 어떻게 구할 수 있나요? 답변 기다리겠습니다, 감사합니다.
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
안녕하세요
다른 방법으로 풀 수 있어도 강사님이 알려주신 코드 한번씩 구현해 보고 넘어가는게 좋을까요? 아니면 그냥 빨리 넘어가면서 문제를 더 많이 풀어보는게 더 좋을까요?
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
7번 영어단어 복구문제 질문드립니다!
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 안녕하세요! 7번 영어단어 복구 문제를 강의를 듣고 저의 방식대로 바꿔봤습니다. 문제지를 보고 제가 바꿔봤을 때는 정답이 일치하는 것 같은데, 프로그램을 돌렸을 때는 답이 틀렸다고 나와서 질문 드립니다 소스코드는 다음과 같습니다 #include <iostream> #include <string> using namespace std; int main(){ char a[101], b[101]; int i, j; gets(a); for( i = 0; a[i] !='\0'; i++) { if(a[i] != ' ') { if(a[i] >= 65 && a[i] <= 90) b[j++] = a[i]+32; else b[j++] = a[i]; } } b[j] = '\0'; cout << b; return 0; }