본문 바로가기

Computer Science304

문자열 변경하기 1. a의 위치 찾기2. 변경시 가능한가3. 안되는 경우 찾아보기4. 반례 찾기 12345678910111213141516171819202122232425262728293031323334353637#include #define MAX 100001char S[MAX];char T[MAX]; int my_abs(int a){ if (a 2019. 1. 31.
중호와 세 소수 1. 소수 구하기2. 그것을 가지고 for문 세 개 돌려서 계산하기3. 오케이4. 이런 문제 유형에 대해 유연해지기 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include #include using namespace std; #define MIN(X,Y) ((X) (Y) ? (X) : (Y)) int numPrime;int numCase[1001];int primeList[1001]; void init(void){ numPrime = 1; primeList[0] = 2; for (int i = 3; i 2019. 1. 31.
정곤이의 단조 증가하는 수 1. 정곤의의 단조증가 하는 수2. 오케이3. 소팅?4. 퀵 소팅 오케이5. 보고 이해, 응용 가능6. 무엇을 어디에 가져다 쓸지7. 자료구조는 어떻게 만들지가 중요함 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495#include #define MAX 10int INPUT[MAX]; void qsort(int *arr, int left, int right);int solve(int cnt);int isValid(int value);.. 2019. 1. 31.
삼성시의 버스 노선 1. 1과 -12. 로 해서 배열에서 편리하게 풀이하는 것3. 컨디션 관리해서4. 머리가 뱅그르르 잘 돌아가도록 만들기5. 몸이 가벼워야 한다6. 머리가 가벼워야 함.. 12345678910111213141516171819202122232425262728293031323334#include #define MAX 10 int main(){ freopen("input.txt", "r", stdin); int test; scanf("%d", &test); for (int tc = 1; tc 2019. 1. 31.
기차 사이의 파리 1. 오케이2. 기차 사이의 파리3. 수학적으로 풀이 가능 1234567891011121314151617#include int main(){ freopen("input.txt", "r", stdin); int test_case; int T; scanf("%d", &T); for (test_case = 1; test_case 2019. 1. 30.
금속막대 1. 이런 풀이도 가능2. 다르게 생각해서 풀이 가능 두 번째 풀이1. 시작 점을 찾고2. 연결되는 것들을 이어서 출력하면 됨 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566#include typedef struct Stick{ int row; int col;} stick; stick arr[5];int idxL[10]; int main(){ freopen("input.txt", "r", stdin); int T, test_case; int N; int idx; int flag; int tmp; int i, j, k, l; setbu.. 2019. 1. 28.
행렬찾기 1. 단순하게 자료구조 설정2. sort 하는 것.3. 힙, 퀵, 머지 찾아서 여러 번 반복하기4. 링크드 리스트 더블 링크드5. 이렇게만 이용하면 끝6. 해쉬 포함 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273#include #define swap(a, b, t) (t = a, a = b, b = t) typedef struct Mat{ int row; int col;} mat; #define MAX 10int board[MAX][MAX];mat matrix[21]; int main(){ freopen(".. 2019. 1. 28.
K번째 문자열 1. 위의 K번째 문제2. 오케이3. 퀵소트 돌리고4. 공통 문자열 검사를 진행하고5. 그 다음에 걸르고 걸러서 K번째를 찾아내면 됨 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394#include #define swap(a,b,t) (t=a, a=b, b=t) #define MAX 10char str[MAX];int idxL[MAX];int lcp[MAX]; void idx_quicksort(int, int);int _strcmp(ch.. 2019. 1. 28.
균형점 1. 균형점2. 바이너리 서치3. 인덱스로 들어가는 점4. EPS 표시하는 것5. 어떻게 하는지 명확히 할 것 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465#define _CRT_SECURE_NO_WARNINGS#include #define EPS (0.000000000001)#define N 10 int n;int pos[N];int weight[N]; double binarySearch(int l, int r){ double left = (double)pos[l]; double right = (double)pos[r]; while .. 2019. 1. 24.