BOJ 3085 사탕 게임
문제 링크
https://www.acmicpc.net/problem/3085
알고리즘 유형
브루트 포스
시간복잡도
브루트 포스의 시간 복잡도는 \(O(경우의\ 수\times 각\ 경우의\ 시간\ 복잡도)\)
경우의 수
가장 처음에 N×N크기에 사탕을 채워 놓는다. 상근이는 사탕의 색이 다른 인접한 두 칸을 고른다. 그 다음 고른 칸에 들어있는 사탕을 서로 교환한다.
N X N의 각 칸에 대해서 인접한 칸과 swap
칸은 N X N개 X 각 칸의 인접한 칸은 4개 X 인접한 칸마다 swap 1회
\[O(N^2 \times 4 \times 1) = O(N^2)\]
각 경우의 시간복잡도
이제, 모...
BOJ 1107 리모컨
문제 링크
https://www.acmicpc.net/problem/1107
알고리즘 유형
브루트 포스
시간복잡도
브루트 포스의 시간 복잡도는 \(O(경우의\ 수\times 각\ 경우의\ 시간\ 복잡도)\)
경우의 수
리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오.
숫자 버튼 선택
숫자 버튼으로 주어진 채널 N과 가장 가까운 채널을 생성해야 한다.
고장난 버튼을 제외하는 시점에 따라 2가지 방법 존재
고장난 버튼을 제외하고 채널 생성
생성된 채널 중 고장...
BOJ 2309 일곱 난쟁이
문제 링크
https://www.acmicpc.net/problem/2309
알고리즘 유형
브루트 포스
시간복잡도 계산
브루트 포스의 시간 복잡도는
\(O(경우의\ 수\times 각\ 경우의\ 시간\ 복잡도)\)
경우의 수
아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오.
\({9 \choose 7} = {9 \choose 2}\)이므로 2가지 방법 존재
9명의 난쟁이 중 진짜 7명 선택
9명 난쟁이 중 가짜 2명 선택
방법의 개수는
\(O({n \choose n - 2}) = O({n \choose 2}) = O({n \choose 2}) =...
Psycopg2 Replication Message
Message Layout
Description in Psycopg2 Documentation
cursor
payload
data_size
data_start
wal_end
send_time
1. Cursor
Mapping and Inheritance
Layout of Cursor
2. Payload
Same as result of pg_logical_slot_get_changes
3. data_size
The raw size of the message payload (before possible unicode conversion).
4. data_start
LSN po...
table map event
dump & analysis
description
/**
<pre>
The buffer layout for fixed data part is as follows:
+-----------------------------------+
| table_id | Reserved for future use|
+-----------------------------------+
</pre>
<pre>
The buffer layout for variable data part is as follows:
+-------------...
query-event
dump & analysis
dump dump
=== QueryEvent ===
Date: 2021-08-24T22:57:09
Log position: 401
Event size: 145
Read bytes: 145
Schema: b'pymysqlreplication_test'
Execution time: 0
Query: CREATE TABLE test (test DATETIME NOT NULL)
None
2
dump packet
packet length: 169
call[1]: dump (line 224)
call[2]: <module> (line 1)
call[3]: _getval (...
extra-data
MySQL 서버 변경 사항
요약
MySQL 8.0.16부터 rows_event에 파티션 정보 추가
rows_event: row 단위의 DML
세부 사항
rows_event 레이아웃
header - body - row 구조
header에 extra_data 필드 존재
변경 전 rows_event
extra data가 사용되고 있지 않는듯…
변경 후 rows_event
extra data에 ndb info, partition id 추가
type이 NDB인 경우
+----------+--------------------------------------+
|type_c...
31 post articles, 4 pages.