본문 바로가기

Computer Science304

미로1 1. 큐 사용 방법2. 오케이3. 이렇게 풀이4. 나중에 링크드 리스트 문제에는 어떻게 풀이할지 궁금 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566#include #define SIZE 16 const int dy[4] = { -1,0,1,0 }; // 상 우 하 좌const int dx[4] = { 0,1,0,-1 };int maze[SIZE][SIZE];int xQ[SIZE * SIZE + 10]; // * 에다가 스페이스 + 한 것임int yQ[SIZE * SIZE + 10];int front, rear; void nQ(int.. 2019. 1. 22.
암호생성기 1. 문제를2. 예제처럼 풀 필요는 없음3. 참고용임4. 더 쉽고 빠르게, 간단하게 푸는 방법이 존재함 12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include #define SIZE 8 int num[SIZE]; int main(){ freopen("input.txt", "r", stdin); int T, test_case; int idx; int i; for (T = 1; T 2019. 1. 22.
계산기2 1. 전위표기법 -> 후위표기법2. 계산하는 방법3. 스택 사용법 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374#include char infix[1001];char postfix[1001];int stack[1001];int top; void push(int num) { stack[++top] = num;} int pop() { return stack[top--];} int main() { freopen("input.txt", "r", stdin); int T; int length; int idx; i.. 2019. 1. 22.
계산기1 1. 후위표기법2. 전위표기법3. 스택 사용법4. 내용을 구현하기 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#include char infix[10001];char postfix[10001];int stack[10001];int top; void push(int num) { stack[++top] = num;} int pop(){ return stack[top--];} int main(){ freopen("input.txt", "r", stdin); int T; int length; int idx; int res; int tmp1, tmp2; int i.. 2019. 1. 22.
magnetic 1. 아이디어 구현2. 네이브 하게 생각하기3. 구현 능력 기르기4. 기본 알고리즘은 STL 없이 짜보도록 하기5. 연습하면 됨 123456789101112131415161718192021222324252627282930313233343536373839#include int table[10][10];int cnt = 0; int main() { freopen("input.txt", "r", stdin); int N; for (int t = 1; t 2019. 1. 22.
GNS 1. NUM 하는 방법2. buf 한번에 들어오므로 저렇게 처리를 진행함3. 문자열 입력 받을 때 주의해야 할 점4. 다른 사람들은 어떻게 풀었는지 확인 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374#include #define NUMLEN (10) char NUM[NUMLEN][4] = { "ZRO", "ONE", "TWO", "THR", "FOR", "FIV", "SIX", "SVN", "EGT", "NIN"};char buf[10000 + 1];int T, test;int cTABLE[NUMLEN].. 2019. 1. 22.
길찾기 1. dfs2. 정보 저장과 visit3. 간 길 표시, 나온 것 다시 표시4. from, to 배열 만들 때 idx, value 저장 위치 정확하게 파악하기5. 헷갈리지 않도록 인풋 받을 때나, 변수 명에 주의하기 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include int path[2][100];int visit[100];int hasPath; void dfs(int cur) { if (cur == 99) // 도착 hasPath = 1; if (hasPath) return; if ((path[0][cur] != -1) && (visit[path[0][cur]]) == -1) { //.. 2019. 1. 21.
괄호짝짓기 1. 처음에는 넣고2. 스택 사용법3. 여는 것을 스택에 쌓음4. --top 을 한다는 것은 쌍이 맞아서 해소 되었다는 것을 의미함5. 여는 것을 stack[top++]에 넣음 1234567891011121314151617181920212223242526272829303132333435363738394041#include int main() { freopen("input.txt", "r", stdin); int length; char str[300]; char stack[152]; int top; int i, j; for (i = 1; i 2019. 1. 21.
거듭 제곱 1. 거듭 제곱2. 정답 풀이3. 오케이4. 해시5. 좌표 탐색6. 오케이 12345678910111213141516171819202122#include int mypow(int n, int m) { if (m == 1) return n; else if (m == 0) return 1; return n * mypow(n, m - 1);} int main(){ int T, test_case; int N, M; for (T = 0; T 2019. 1. 21.