은 바로 다음 주 미래의 나 #라이브러리 없이 코딩하기 구현 알고리즘 Hash Merge Sort 생각해 볼 거리 Quick Sort로 구현해보기 소스 코드 #include #define MAX_TABLE 1000017 struct Hash { char name[6]; bool in; Hash* next; } h[MAX_TABLE], * ht[MAX_TABLE], * workin[MAX_TABLE]; unsigned int h_idx = 0; unsigned long getHash(const char* str) { unsigned long hash = 5381; int c; while (c = *str++) { hash = (((hash = 0) { ht[idx++] = workin[s1++]; } el..
#라이브러리 없이 코딩하기 #이지만 atoi는 직접 구현하니 시간초과라 #라이브러리 사용 구현 알고리즘 Hash 생각해 볼 거리 이중 for loop 안에서 break를 사용하면 왜 실행 시간이 8ms 늘어날까? 시간 초과 나지 않도록 atoi 직접 구현해보기 소스 코드 #include #include #define MAX_TABLE 100017 #define MAX_NAME 21 struct Hash { char name[MAX_NAME]; Hash* next; unsigned long int idx; } h[MAX_TABLE], * ht[MAX_TABLE]; unsigned int h_idx = 1; unsigned long getHash(const char* str) { unsigned long h..
자바 직렬화란? 자바는 '객체 직렬화'라는 메커니즘을 제공합니다. 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 변환하는 기술로, 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화)을 아울러서 이야기합니다. 예제 public class Book implements java.io.Serializable { public String name; public String author; public transient int SSN; public int number; } 직렬화를 위해서는 꼭 지켜야하는 2가지 조건이 있습니다. java.io.Serializable 인터페이스를 상속해야 합니다. 모든 필드는 자바 기본(primitive) 타입이..