분류 전체보기

1. 해쉬테이블 - dynamic set을 구현하는 효과적 방법 중 하나 - 평균 탐색, 삽입, 삭제 시간은 O(1) - 최악의 경우 Θ(n) - 해쉬함수 h를 이용해 키 k를 T[h(k)]에 저장 - h : U -> {0, 1, ..., m-1} (m : 테이블 크기, U : 모든 가능한 키들의 집합) - 하나의 slot 혹은 bucket으로 사상됨 - 즉, 각 키는 0 ~ m-1의 정수로 mapping 2. 해쉬 함수의 예 - 모든 키를 자연수로 가정 예1) 문자열 ASCII 코드 : C = 67, L = 76, R = 82, S = 83 CLRS = (67 * 128^3) + (76 * 128^2) + (82 * 128^1) + 83 * (128^0) 예2) h(k) = k % m : key를 m으..
· PS/BOJ
1. 문제 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 2. 접근 #include int main() { /* 입력 받을 소수의 개수를 N으로 받음 */ /* N개의 소수를 받음 */ /* 소수 판단 */ return 0; } 3. 문제풀이 #define _CRT_SECURE_NO_WARNINGS #include int main() { int N, str[100], cnt=0; scanf("%d", &N); for (int i = 0; i < N; i++) { // N개의 소수를 배열에 저장 scanf("%d..
· PS/BOJ
1. 문제 2. 최종답안 #include int main() { int x, y; scanf("%d", &x); scanf("%d", &y); if (x > 0 && y > 0) printf("1"); else if (x 0) printf("2"); else if (x < 0 && y < 0) printf("3"); else printf("4"); return 0; }
· PS/BOJ
1. 문제 문제 이해 윤년이란? 4년에 한 번씩 찾아오는 2월이 29일인 해 -> 4의 배수이면서 100의 배수가 아니거나 400의 배수일 때 3. 최종 답안 #define _CRT_SECURE_NO_WARNINGS #include int main() { int year; scanf("%d", &year); if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) printf("1"); else printf("0"); }
· PS/BOJ
1. 문제 2. 문제 이해 입력 : 26 2+6 = 8 -> 68 6+8 = 14 -> 84 8+4 = 12 -> 42 4+2 = 6 -> 26 출력 : 4 앞의 수의 1의 자리수가 다음 수의 10의 자리수가 되며, 앞의 자리 수 각각을 더한 값의 1의 자리수가 다음 수의 1의 자리가 된다. 3. 접근 N의 10의 자리수와 1의 자리수를 더해 return 하는 방식으로 코드를 짰더니 8번이나 넘는 오답이 발생해 다시 보니 문제를 잘못 이해했었다. #include int main() { int N, a, b, num, cnt=0; scanf_s("%d", &N); a = N / 10; // N의 10의 자리 b = N % 10; // N의 1의 자리 while(1) { num = 10 * b + (a + ..
소-은
'분류 전체보기' 카테고리의 글 목록 (15 Page)