월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
오류...
#include <stdio.h> using namespace std; int main() { char a[100]; int i, cnt = 0; scanf_s("%s", &a); for (i = 0; a[i] != '\0'; i++) { if (a[i] == '(') cnt++; else if (a[i] == ')') cnt--; if (cnt < 0) break; } if (cnt == 0) printf("yes\n"); else printf("no\n"); return 0; } 타이핑 똑같이 했는데요 출력결과...가 엔터눌러도 바로 안나옵니다 c언어로 코딩하면 가끔 이런일이 생기던데 해결방법 아시는지요? ++추가) 진~짜 알고리즘1도 모르고 머리가 좋다고 생각하는것도 아니지만.. 맨날 하루에 하나라도 해서 완강하면 코테 볼 만큼 좀 좋아지겠죠?(희망의 답변을 듣기위해 한 질문입니다..ㅋㅋ)
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
dev c++ 작동오류
dev c++로 코딩하는데 while(1) 이나 sizeof(..) 같은 문법이나 함수가 제대로 작동하지 않습니다. 같은 코드를 visual studio에서 돌리면 작동을 합니다. 컴파일러는 tmd-gcc 최신버전 사용하고 있습니다.이유가 무엇인지 궁금합니다. 또한 dev c++ 대신 visual studio를 사용해도 되는지요? (visual을 사용하면 체점받는 것은 어렵다는 것은 알고있습니다)
- 해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
생성자에 대한 질문입니다.
삭제된 글입니다
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
dev c++ 이 제대로 실행이 안되요
똑같이 따라했는데 실행을 하면 fail to execute 뜨면서 Error 0: 작업을 완료했습니다. 라고 뜨면서 콘솔창이 제대로 실행되지 않습니다.....
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
65번 문제 질문입니다.
int n, k ,cnt = 0; int ch[10][10]; int map[10][10]; int dx[4] = {-1,1,0,0}; int dy[4] = {0,0,-1,1}; void DFS(int x, int y){ int i,xx,yy;// 이동할 격자 좌표 if(x == 7 && y ==7){ cnt++; } else { for(i = 0; i<4;i++){ xx = x+dx[i]; yy = y+dy[i]; if(xx<1 || xx>7 || yy>7 || yy<1 ) continue; if(map[xx][yy]==0){ map[xx][yy] = 1; DFS(xx,yy); map[xx][yy] = 0; } } } } int main(){ freopen("input.txt", "rt",stdin); //rt read txt int i,c,b,j; for(i = 1; i<=7;i++){ for(j= 1; j<=7;j++){ scanf("%d", &map[i][j]); } } ch[1][1]=1; DFS(1,1); printf("%d",cnt); return 0; } 궁금한게 생겨서 질문드립니다. map에서 지나가는 길에 1을 넣으면서 가고 돌아올때 0을 넣으면서 돌아오면 될것같아서 위처럼 구현했는데 8이아니라 16이 나오더라구요 왜 그런지 알 수 있을가요? 제가 무엇을 놓친걸까요..
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
문제의 조건에 대해
좋은 강의 정말 감사합니다. 문제의 조건에 대해 문득 생각이 들어서 질문 드립니다. 조건 2에서 밑면의 넓이가 같은 벽돌도 없고 또 무게가 같은 벽돌도 없다고 하셨는데, 만약 이것을 허용하면 문제가 많이 어려워 지나요? 제 생각으로는 그냥 < 로 비교하는 것을 <= 로 하면 될 것 같은데 혹시나 해서 질문 드립니다.
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
75번 문제 풀이
안녕하세요 강사님. 여름방학부터 코테를 준비하면서 강사님 강의 유익하게 잘 듣고 있습니다. 다름이 아니라 75번 문제 풀이를 구조체 정의하여 푸는 것이 아니라 이전에 알려주신 pair 를 사용하여 풀어도 괜찮을까요? 채점 폴더에 제공된 테스트 케이스는 모두 통과하긴 합니다. pair를 사용하지 않고 구조체를 따로 정의하고 연산자 오버로딩을 하신 이유가 있는 것 같아 여쭙습니다. 제 풀이 입니다 . /* 75. 최대 수입 스케쥴(priority_queue 응용문제) */ #include #include #include #include using namespace std; int main() { freopen("input.txt", "rt", stdin); int n, m, d, i; int dd, tot = 0; scanf("%d", &n); // Max Heap priority_queue<pair<int, int>, vector<pair<int, int> >, less<pair<int, int> > > pQ; vector<int> sch(n + 1); for(i = 1; i <= n; i++) { scanf("%d %d", &m, &d); pQ.push(make_pair(m, d)); } while(!pQ.empty()) { // printf("%d %d\n", pQ.top().first, pQ.top().second); dd = pQ.top().second; if(sch[dd] == 0) sch[dd] = pQ.top().first; else { while(dd > 1) { if(sch[--dd] == 0) { sch[dd] = pQ.top().first; break; } } } pQ.pop(); } for(i = 1; i <= n; i++) { tot += sch[i]; } printf("%d\n", tot); return 0; }
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문있습니다
안녕하세요? 현재 열심히 수강중인 수강생입니다. 저는 이 문제에 대해서 아래와 같이 코드를 구성하였고, k번째에 정전이 일어났기에 아래의 로직에 의하면 k+1이 다음 작업 순서라 생각하여 이렇게 구성하였습니다. 아직 자료구조에 대해 자세히는 알지 못해 효율성 측면에서 제 코드 별로인지 여쭤보고 싶습니다! #include #include #include using namespace std; int main(){ freopen("AA.txt","rt",stdin); int n,k,i,pos=0,cnt=0,cnt2=0,tot=0; scanf("%d",&n); vector a(n+1); for(i=1;i<=n;i++){ scanf("%d",&a[i]); tot+=a[i]; } scanf("%d",&k); if(tot<=k){ printf("%d",-1); return 0; } while(1){ pos++; if(pos>n) pos=1; if(a[pos]==0) continue; else if(a[pos]>0){ a[pos]--; cnt++; if(cnt==k+1){ printf("%d",pos); break; } } } return 0; }
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
75번 시간초과
안녕하십니까, 직접 짠 코드로 돌려봤더니 문제 3,4번 시간 초과 떴습니다. 강사님께서 짜신 코드도 시간초과 떠서 뭐가 문제인지 여쭤봅니다.
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
73. 최대힙
안녕하십니까, 우선순위 큐로 짰는데 시관초과 되서, 강사님의 코드로 했는데 문제 3,4,5가 초과 됩니다. 확인 부탁드립니다!!
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
선생님 오류때문에..
똑같이 작성했는데 이런 오류 나옵니다 비쥬얼스튜디오 2019사용합니다
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
강의 목록에 그리디는 안보이는데 따로 다루지 않나요?
강의 목록에 그리디는 안보이는데 따로 다루지 않나요?
- it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
강사님 operator < 연산자 오버로딩에 대해서 질문 드립니다.
삭제된 글입니다
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
queue를 지역변수, 전역변수로 선언하는 것의 차이
Queue를 전역변수랑 지역변수랑 선언했을 때 채점 결과가 다르게 나오던데 이 둘의 차이가 무엇인가요? #include <iostream> #include <queue> #include <algorithm> using namespace std; int map[21][21]; int dx[8]={0,1,1,1,0,-1,-1,-1}; int dy[8]={-1,-1,0,1,1,1,0,-1}; struct Pos { int x,y; Pos(int a, int b) { x=a; y=b; } }; // queue<Pos> Q; // 전역변수로 선언하면 100점? int main(void) { int n,cnt=0; scanf("%d",&n); queue<Pos> Q; // 지역변수로 선언하면 80점? for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { scanf("%d",&map[i][j]); } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(map[i][j]==1) { Q.push(Pos(i,j)); map[i][j]=0; while(!Q.empty()) { Pos tmp=Q.front(); Q.pop(); for(int k=0;k<8;k++) { int xx=tmp.x+dx[k]; int yy=tmp.y+dy[k]; if(map[xx][yy]==1) { Q.push(Pos(xx,yy)); map[xx][yy]=0; } } } cnt++; } } } printf("%d",cnt); }
- 해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
전역변수와 지역변수 간의 속도 차이가 있나요?
처음에 지금은 주석처리된 ch와 dis 배열을 지역변수로 설정했었습니다. #include <stdio.h> #include <vector> #include <algorithm> #include <queue> using namespace std; int steps[3] = {1, -1, 5}; // Checkpoints & Distances int ch[10001] = { 0, }; int dis[10001]; int main(void){ // freopen("input.txt", "rt", stdin); int s, e; scanf("%d %d", &s, &e); // Queue for BFS queue<int> Q; // Checkpoints & Distances (Time out) // int ch[10001] = { 0, }; // int dis[10001]; // Start condition Q.push(s); ch[s] = 1; dis[s] = 0; int pos, x; // BFS for minimum distance while (!Q.empty() && ch[e] == 0){ x = Q.front(); Q.pop(); for (int i = 0; i < 3; i++){ pos = x + steps[i]; if (ch[pos] == 0){ Q.push(pos); ch[pos] = 1; dis[pos] = dis[x] + 1; } } } printf("%d", dis[e]); return 0; } 그런데 3번 부터 time out 이 발생해 다른 점을 찾아보니 배열이 전역변수라는 점이었습니다. 그래서 바꿔서 다시 실행해보니 time out이 걸리지 않고 제대로 실행되었습니다. 이러한 큰 배열을 전역변수와 지역변수로 설정했을 때 속도에 차이가 있나요? 만약 그렇다면 queue나 다른 동적자료구조들도 전역변수로 설정하는 것이 좋을까요?
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
문제에서 가장자리를 0으로 채운 가정
이 가정이 왜 있나 생각해보니 4방 검색을 할때 Map의 범위를 벗어나는 조건 check 를 하지 않아도 되는 의도된 설정이었군요..
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
STL sort()관련 질문입니다
정렬부분의 강의를 듣다가 문득 STL sort()에 대해 궁금한 사항이 생겨 여쭙고자 합니다. sort(arr, arr + n ,compare)와 같이 사용시, bool compare(int a, int b) { return a < b }라고 하는 코드를 봤었는데, 이게 왜 오름차순 정렬이 되는지 이해가 가질 않습니다. true를 리턴하는 경우가 a < b인 경우이고 이 경우에만 정렬이 되는 것이라 생각해도 되는건가요?? 찾아봐도 해결이 되지 않았습니다. ㅜㅜ
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
다른 방식으로 코딩
#include<stdio.h> int main() { int n, i, j, tmp, a[101]; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &a[i]); } for (i = 1; i < n; i++) { for (j = 0; j < i; j++) { if (a[i] < a[j]) { tmp = a[j]; a[j] = a[i]; a[i] = tmp; } } } for (i = 0; i < n; i++) { printf("%d ", a[i]); } return 0; } 안녕하세요 강사님. 저는 위의 방식처럼 코드를 짜보았는데요 최대 숫자인 100을 넣고 해보았을 때 타임리밋이 걸리지는 않았습니다. 위의 방식처럼 해도 선택정렬이 맞는건가요?..
- 해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
30강 3의 개수(large)문제 관련 질문입니다.
선생님, 30강 3의 개수 large 문제 칠판에 설명해 주시면서 while문을 이용하여 코드를 작성하여 주셨는데요, cur 자리를 일의자리 부터 시작해서 점점 왼쪽으로 옮겨가면서 lt와 rt를 바꾸는 것까지 잘 이해하였습니다. 그런데, while문 작성시 while(lt!=0)으로 하셨는데요. (5367 예시) 마지막에 cur이 가장 왼쪽 값인 5로 되면서 lt가 0이 되는데도 while 루프가 돌아가는게 이해가 되지 않았습니다. while문의 조건은 어떤 순서로 적용되는건지 알고 싶습니다. 감사합니다.
- 미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
DP Table 가장자리값 초기화
DP Table 가장자리값 초기화시 loop가 1부터 시작해야 하는게 아닌지 질문 드립니다. (배열의 i-1 값을 참조해야 하므로..) for (int i = 1; i < n; i++) { dist[i][0] = dist[i-1][0] + map[i][0]; dist[0][i] = dist[0][i-1] + map[0][i]; }