글의 내용은 Real MySQL 8.0 책을 참고하였습니다. DBMS들이 데이터 압축을 사용하는 이유 디스크에 저장된 데이터 파일의 크기는 쿼리 처리 성능과 직결되며, 백업 및 복구 시간과도 밀접하게 연관된다. 데이터 파일의 크기가 커질수록 쿼리 처리를 위해 많은 데이터 페이지를 InnoDB 스토리지 엔진 버퍼풀로 읽어들여야할 수 있고 새로운 페이지가 버퍼풀로 적재될 때 더티 페이지가 더 자주 디스크로 기록되어야 함 (Disk IO 증가) 이런 문제점 때문에 많은 DBMS는 데이터 압축 기능을 사용한다. MySQL 서버에서는 테이블압축과 페이지 압축 기능을 제공한다. MySQL 페이지 압축(많이 사용 x) MySQL 서버가 디스크에 저장하는 시점에 데이터 페이지가 압축되어 저장되고, 디스크에서 데이터 페..
전체 글
공부중인 학생입니다! 글에서 틀린 곳이 있으면 지적 부탁드립니다 블로그 이사 https://velog.io/@joohr1234대망의 구현 뿌수기다. 가장 기본이면서 가장 중요하고 문제도 가장 많다. 긴 여정이 될 것 같다. 2167 2차원 배열의 합 - 실버5 https://www.acmicpc.net/problem/2167 2167번: 2차원 배열의 합 첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 www.acmicpc.net 누적합 냄새가 너무 나서 그렇게 풀었다 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buffe..
보호되어 있는 글입니다.

비트마스킹 시즌2다. 비트마스킹은 뿌수기 시리즈 중 가장 어렵다고 느껴진다.. 비트마스킹이 내 취약점인 것 같다. 더 열심히해야지.. 17419 비트가 넘쳐흘러 - 실버4 https://www.acmicpc.net/problem/17419 17419번: 비트가 넘쳐흘러 🎶 DJ욱제는 비트에 몸을 맡기는 중이다. 🎶 DJ욱제는 비트에 심취한 나머지, 비트를 비틀어 제껴버리는 문제를 내 버렸다! N자리 이진수 K가 주어진다. K가 0이 아닐 때까지 아래의 연산을 적용 www.acmicpc.net 0이 될 때까지 계속 연산을 반복하면 시간초과가 날 것 같았지만, 규칙이 떠오르지 않아서 그냥 해봤다가 51%에서 안움직였다 N의 개수가 100만이었기 때문에 long으로도 처리가 안된 것이었다 어쩔 수 없이 규칙을..

이번에는 비트마스킹을 공부해보려고 한다. 비트 연산을 안배운지 너무 오래돼서 브론즈문제부터 차근차근 풀 예정이다. 개념정리 - XOR 연산자 1 ^ 1 = 0 1 ^ 0 = 1 0 ^ 1 = 1 0 ^ 0 = 0 true ^ true = false false ^ true = true true ^ false = true false ^ false = false 자바의 XOR연산자는 두 값이 다르면 true를 반환한다. 1은 true의 의미를 가지고 있다고 c언어처럼 생각하면 되겠다 개념정리 - 비트 반전 연산 ~1 = 0 ~0 = 1 말그대로 비트를 반전하는 연산 27960 사격 내기 - 브론즈3 https://www.acmicpc.net/problem/27960 27960번: 사격 내기 A, B, C는 올..

13023 ABCDE https://www.acmicpc.net/problem/13023 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net 친구관계와 관련되어 있어서 union-find인가 생각도 들었지만, A-B-C-D-E 로 이어져야하고, 네트워크와는 관련이 없기 때문에 다른 방식으로 풀어야한다는 걸 느꼈다 4만큼 떨어져있다면 촌수계산처럼 bfs로 푸는 게 맞나 싶었지만, visit관리를 어떻게 해야할 지 몰라 dfs로 풀었다. class Man { int num; int count; public Man(int num, int count) { this.num = num; this.count = count; } } ..

싸피를 준비할 때 여러 블로그들의 도움을 받은 기억이 있어 합격후기를 써보려고 한다. 코딩테스트와 면접에 대한 자세한 내용은 대외비이기 때문에 여기 적을 수 없고, 내가 어떻게 준비했는지에 대해서만 작성할 생각이다. 글쓴이가 지원한 곳 참고로 나는 서울이 아닌 캠퍼스의 전공자 코딩트랙으로 지원했다. 모바일 x 임베디드 x 모집 절차 자세한 내용은 싸피 홈페이지에서 확인할 수 있다. https://www.ssafy.com/ 모집절차를 요약하면 다음과 같음 지원하기 (졸업한 학교 등을 입력) 에세이 제출 코딩테스트(SW 적성진단) 실시 인터뷰 합격발표 싸피 준비 오픈채팅방 https://open.kakao.com/o/gQYSpD9 SSAFY 삼성 청년 SW 아카데미 (11기 준비) #10기모집인원수가비번 #..
12712 파리퇴치 dfs로 하나하나 계산하는 것보다 누적합으로 구하는 게 빠를 것 같아 그렇게 해줬다 좌 -> 우 누적합 배열, 상 -> 하 누적합 배열, 좌상 -> 우하 누적합, 우상 -> 좌하 누적합 배열을 만들어줌 그리고 각각 지점에서 잡을 수 있는 파리 수를 계산해준다 public class Solution { static int n; static int m; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int tcCnt = Integer.parseInt(br.readLine()); for (int tc..

이전글 https://fladi.tistory.com/405 [JAVA] 백준 트리 뿌수기1 다익스트라에 이어 트리를 뿌숴보겠다. bfs, dfs, dp 등을 익혔지만 가장 기초인 트리는 아직 정복하지 못했다는 걸 알았다. 이번에는 트리를 정복해보겠다. 트리(tree)란? 계층적 자료를 표현하는데 fladi.tistory.com https://fladi.tistory.com/406 [JAVA] 백준 트리 뿌수기2 이전글 https://fladi.tistory.com/405 [JAVA] 백준 트리 뿌수기1 다익스트라에 이어 트리를 뿌숴보겠다. bfs, dfs, dp 등을 익혔지만 가장 기초인 트리는 아직 정복하지 못했다는 걸 알았다. 이번에는 트리를 fladi.tistory.com https://fladi..
이전글 https://fladi.tistory.com/405 [JAVA] 백준 트리 뿌수기1 다익스트라에 이어 트리를 뿌숴보겠다. bfs, dfs, dp 등을 익혔지만 가장 기초인 트리는 아직 정복하지 못했다는 걸 알았다. 이번에는 트리를 정복해보겠다. 트리(tree)란? 계층적 자료를 표현하는데 fladi.tistory.com https://fladi.tistory.com/406 [JAVA] 백준 트리 뿌수기2 이전글 https://fladi.tistory.com/405 [JAVA] 백준 트리 뿌수기1 다익스트라에 이어 트리를 뿌숴보겠다. bfs, dfs, dp 등을 익혔지만 가장 기초인 트리는 아직 정복하지 못했다는 걸 알았다. 이번에는 트리를 fladi.tistory.com 트리부수기 시즌3이다! ..