본문 바로가기

전체 글579

백준 5052 전화번호 목록 전화번호 목록이 주어짐 목록이 일관성이 있는지 없는지 구함 목록이 일관성을 유지하려면, 한 번호가 다른 번호의 접두어인 경우가 없어야 함 해시 충돌 발생 적은 리소스로 많은 데이터를 효율적으로 관리함 해시함수 하드디스크, 클라우드 존재 무한 가까운 데이터 유한한 개수 해시값으로 매핑함 작은 크기의 캐시 메모리로도 프로세스를 관리할 수 있게 됨 색인에 해시값을 사용함 검색과 삽입/삭제를 빠르게 수행할 수 있음 해시는 데이터 액세시(삽입, 삭제, 탐색)시 계산복잡성을 오(1)을 지향 음수를 양수화 하지 않아서 &연산함 -16 ~ 15를 5비트로 표현하면 10000 ~ 01111로 표현하게 됨 이 숫자를 5비트에 저장하는게 아닌 32비트인 인트에 저장하게도미 그 경우 음수를 시피트하게 되면 앞자리에 1이 붙어.. 2018. 11. 1.
user hash / IoT Database 주어진 name과 같은 name을 갖는 student를 찾아 해당 Student를 hash table 에서 삭제 void dell(const char name[Max_NAME+1) name 이 키가 되도록 할 것 해당 student 를 hash table에 삽입 주어진 name 과 score 를 갖는 student 를 생성(전역변수에 저장)하고, void insert(const char name[MAX_NAME+1], const int score){} 해당 하는 Student 가 hash table에 없을 경우 nullptr 을 return 주어진 name 과 같은 네임을 같는 학생을 찾아 스투던트를 리턴 50개 3초 Global 변수, Static 변수 해당 변수 사용 금지 비휘발성 메모리 가진 IoT.. 2018. 11. 1.
1265 달란트 10개 달란트 모은 원생 10개 사탕 10개를 3묶음으로 나누어서 각 묶음의 곱의 개수로 사탕을 교환해 줌 원생마다 달란트의 개수가 다름. 원장님 서로 다른 묶음 개수를 제시함 달란트 수와 묶음의 수가 주엊리 때 받을 수 있는 사탕의 최대 개수 원생 달란트 수 앤의 범위 10 달란트 엔 100 달란트 묶음의 수는 피는 엔보다 작거나 같음 #include int TC, N, R; int main(void) { scanf("%d", &TC); // 테케 개수 for (int i = 1; i 0; --j) { result *= N / j; N -= N / j; } printf("#%d %lld\n", i, result); } return 0; } 2018. 10. 31.
1263 사람 네트워크2 풀이중 연구 단체 사람 네트워크. 영향력 분석 프로그램 그래프의 노드 수 디스트는 노드 아이로부터 노드 제이까지의 최단 거리 2018. 10. 31.
1258 행렬찾기 유엔 화학 무기 조사단 화학 물질 용기 엔^2 배열되어 있음 빈 용기 원소 0, 화학 물질 종류 1~9사이의 정수 저장 #include // 헤더 파일 typedef struct Matrix { int sizeX, sizeY; }Matrix; int g_map[101][101]; bool g_flag[101][101] = { false }; Matrix g_matrix[21]; int g_matrixIndex; bool operator< (const Matrix& _first, const Matrix& _second) { if (_first.sizeX * _first.sizeY < _second.sizeX * _second.sizeY) { return true; } else if (_first.sizeX.. 2018. 10. 31.
1256 K번째 접미어 영어 소문자 문자열 길이가 엔 일 때 접미어들은 문자열의 길이만큼 존재함 몬스터 문자열 아래 그림 왼쪽 접미어 사전적 정렬 아래 그림과 같이 정렬됨 몬스터 문자열의 접미어들 중 사전적 순서 4번쨰 오는 접미어 onster K값과 문자열 주어지면 접미어들 중 사전적 순서 K번째 접미어 찾아서 출력 #include int main() { int T; char str[1001]; int memory[1001]; int count[27]; int rank[27]; int order[1001]; int vector[1001]; int vectorIndex; scanf("%d", &T); // 테케 수 받음 for (int tc = 1; tc 1) { for (int i = 0; i < vectorIndex; i+.. 2018. 10. 31.
1251 하나로 인도네시아 내의 N개의 섬 연결 교통 시스템 설계 프로젝트 하나로 천해의 자연을 가진 인도네시아 각 섬간 교통 해저터널로 연결하는 것을 목표 두 섬을 선분으로 연결, 모든 섬들을 연결해야 하는 프롲게트 환경 부담 세율 각 해저터널의 비용은 환경 부담세율과 각 헤저터널의 길의 제곱의 곱만큼 듭니다. 65비트 interger 및 double 로 처리할 것 long long 으로 선언. 환경 부담금을 최소로 하며 모든 섬을 연결하고 있음 첫 줄에는 섬의 개수 엔이 주어지고 두 번쨰 줄에는 각 섬들의 저수인 엑스좌표 세번 재 줄에는 각 섬들의 정수인 와이 좌표가 들어감 그리고 마지막 환경 부담 세율 실수 이가 주어짐 #include #include //#include #define MAX 1001 // #def.. 2018. 10. 31.
1249 보급로 연합군 독인군 전투가 치열해짐 출발지에서 도착지 까지 가기 위한 도로 복구 작업 빠른 시간 내 수행하려고 함 깊이 비례하여 복구 시간은 증가함 출발지에서 도착지로 가는 경로 중 복구 시간이 가장 짧은 경로에 대한 총 복구 시간 구하기 깊이가 1 복구 시간 1 지도 정보 2차원 배열 좌상단 칸 우하단 칸 상하좌우 방향 한 칸 씩움직일 수 있음 #include // 헤더 파일 #define M 90001 // 왜 엠을 넣엇지? int n; // char a[1009][1009]; int d[1009][1009]; struct A { // 구조체 사용 노드 사용 A *next; int i, j; }; A *q[M]; A *r[M]; A *make(int si, int sj) { A *me = new A(); .. 2018. 10. 31.
1247 최적 경로 회사 출발 엔 명의 고객 방문 후 자신의 집으로 돌아감 회사, 집, 고객 위치, 이차원 정수로 주어짐 두 위치 사이 거리 절대값으로 계산됨 회사 출발 엔 명의 고객 모두 방문 후 집으로 돌아오는 경로 중 갖아 짧은 것을 찾으시오. 회사와 집의 좌표가 주어지고, 2~10명 사이의 고객 좌표가 주어짐. 회사에서 출발해서 모두 방문하고 집에 돌아가는 경로 중 총 이동거리가 가장 짧은 경로를 찾는 프로그램을 작성 ios_base :: sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); 멀티 쓰레드 환경일 경우 sync 값이 true일 때는 Thread safe 라서 예상치 못한 값이 나오지 않지만, false를 시킬 경우 Thread unsafe 해지기 때문에 예상.. 2018. 10. 31.