타입 캐스팅으로 한 번에 메모리 쓰기, 읽기 (Memory Write and Read with Type Casting)
삼성 C형 전체 링크 참고 - 타입 캐스팅으로 deep copy, memcpy 구현하기 타입 캐스팅을 이용하면 char 배열 8칸을 한꺼번에 입력할 수 있다. 즉, 크기가 작은 타입의 배열을 long type으로 한 번에 읽거나 쓸 수 있다. 이 방법은 메모리를 통째로 복사하는 방법과 원리가 같다. Write char a[8]; 배열에 1, 2, 3, 4, 5, 6, 7, 8을 입력해야 한다고 하자. 그러면 for문을 8번 순회해서 i 번째 배열에 i + 1을 입력하는 코드를 만들 수 있다. char a[8] = { 0 }; for (int i = 0; i < 8; i++) a[i] = i + 1; 하지만 type casting으로 a[0]번째 주소 (&a[0])을 long type으로 캐스팅하면, 한 ..
2023. 8. 15.
해시 응용 : 2차원 배열 탐색
삼성 B형 전체 링크 참고 - 해시 테이블 Hash Table - 해시 테이블 추가, 삭제, 수정, 검색 - 해시 응용 - 2차원 배열 탐색 - 해시 응용 - Rush Hour Puzzle (2차원 배열 탐색 응용) - 해시 테이블 성능 비교 아래와 같은 15x15 2차원 배열에서 오른쪽의 4x4 조각이 총 몇 개 있는지 찾아보자. 실제 B형 문제라면, 아래의 코드에서 findPiece 함수를 만들면 된다. #include int N = 15; int M = 4; char MAP[15][15] = { { 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, }, { 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, }, { 0, 0, 1, 0, 0..
2021. 3. 9.